|
2 | 2 |
|
3 | 3 | The official Clojure language plugin for Light Table. |
4 | 4 |
|
| 5 | +## Supported Clojure versions |
| 6 | + |
| 7 | +This plugin requires projects Clojure 1.5.1 and higher. Starting with 0.2.0 this plugin will only be maintained for projects with Clojure 1.7.0 and higher. |
| 8 | + |
| 9 | +## Supported ClojureScript versions |
| 10 | + |
| 11 | +This plugin works for projects on recent versions of ClojureScript e.g. 1.7.X. For projects with ClojureScript versions 0.0-2341 and higher, Clojure 1.7.0 is required. |
| 12 | + |
5 | 13 | ## First ClojureScript Repl |
6 | 14 |
|
7 | 15 | Welcome first time ClojureScript users! Please see [David Nolen's tutorial](https://github.com/swannodette/lt-cljs-tutorial) to get familiar with ClojureScript and comfortable with LightTable's repl. Note while doing that tutorial you were in a namespace. A namespace is necessary for a LightTable repl. Once you have finished the tutorial, create your own ClojureScript project with `lein new mies my-project` and eval there. If you want to add dependencies to your project, read the [below section](#clojurescript-eval) as that requires a different type of LightTable connection. |
@@ -33,14 +41,37 @@ For LightTable plugins: |
33 | 41 | Your project is connected to `LightTable UI`. When you save any plugin cljs file, compiled js is generated and saved. Any change |
34 | 42 | can be eval-ed. |
35 | 43 |
|
| 44 | +## Connect to remote nREPL |
| 45 | + |
| 46 | +When you eval a Clojure project, Light Table automatically starts an nREPL server and connects to it. If you'd prefer to start an nREPL server, |
| 47 | +open the `Connections` panel, press `Add Connection` button and select the `Clojure (remote nREPL)` client. Make sure your project.clj |
| 48 | +has the following `:dependencies` and `:repl-options`: |
| 49 | + |
| 50 | +```clojure |
| 51 | +(defproject lttest "0.1.0-SNAPSHOT" |
| 52 | + :description "FIXME: write description" |
| 53 | + :dependencies [[org.clojure/clojure "1.6.0"] |
| 54 | + [lein-light-nrepl "X.X.X"]] |
| 55 | + :repl-options {:nrepl-middleware [lighttable.nrepl.handler/lighttable-ops]}) |
| 56 | +``` |
| 57 | + |
| 58 | +For projects using Clojure >= 1.5.1 and < 1.7.0, `X.X.X` refers to `0.1.3`, an older unmaintained version. |
| 59 | +For projects using Clojure >= 1.7.0, `X.X.X` refers to the latest version of `lein-light-nrepl`: |
| 60 | + |
| 61 | +[](http://clojars.org/lein-light-nrepl) |
| 62 | + |
36 | 63 | ## License |
37 | 64 |
|
38 | 65 | Distributed under the MIT License, see license.md for the full text. |
39 | 66 |
|
40 | | -## For Commiters |
| 67 | +## For Committers |
41 | 68 |
|
| 69 | +* Project layout |
| 70 | + * runner/: Contains uberjar to inject our nREPL middleware into a project and then start a repl |
| 71 | + * lein-light-nrepl/: Contains nREPL middleware that needs to be deployed to Clojars when changed |
| 72 | + * src/ and everything else: Normal LightTable plugin |
42 | 73 | * When releasing a new plugin version and lein-light-nrepl has changed: |
43 | 74 | * Bump lein-light-nrepl and lein-light in runner/. |
44 | | - * Update the uberjar with `lein uberjar` in `runner/target/lein-light-standalone.jar`. |
| 75 | + * Update the uberjar with `lein uberjar` in `runner` to produce `runner/target/lein-light-standalone.jar`. |
45 | 76 | * Release the new version of lein-light-nrepl to [clojars](https://clojars.org/lein-light-nrepl) |
46 | 77 | * No process for upgrading `clojure-mode.js` until [this issue](https://github.com/LightTable/Clojure/issues/26) is addressed. |
0 commit comments