Skip to content
Gabriel Horner edited this page Jan 6, 2016 · 1 revision

When using Light Table you must configure boot to use Light Table nrepl middleware. You can find the latest version of the Light Table nrepl utilities on Clojars.

You can add the things below to your $BOOT_HOME/profile.boot (By default, $BOOT_HOME is ~/.boot) or per project in build.boot. As developers might use different tools $BOOT_HOME/profile.boot is usually more sensible.

0. Make sure your version of boot is recent by running boot -u.

1. Set REPL dependencies that are loaded lazily as the repl task is run:

(swap! boot.repl/*default-dependencies*
       concat [[lein-light-nrepl "0.2.0"]])

NOTE: Make sure to have an ' (apostrophe) before that top-level vector. (If it's not shown here that means Github's syntax highlighting is still broken.)

NOTE 2: The most recent version(s) of lein-light-nrepl may not be working correctly with boot.repl -- a Java IllegalArgumentException may be thrown. If that happens, try an earlier version known to work, e.g. [lein-light-nrepl "0.0.13"].

NOTE 3: The lein-light-nrepl bug is not actually one in boot.repl, or any other build tool REPL runtime — lein-light-nrepl 0.1.0 seems to pull in a version of ClojureScript that triggers CLJS-865 (or something like it). Leiningen actually suffers from the same (or a very similar) problem. The fix seems to be to include a recent build of ClojureScript in the vec that gets concatenated onto the boot.repl/*default-dependencies* atom. Adding ClojureScript in as a dependency thusly:

(swap! boot.repl/*default-dependencies*
       concat '[[lein-light-nrepl "0.1.0"]
                [org.clojure/clojurescript "0.0-2511"]])

Seems to fix it

NOTE 4: With the new lein-light-nrepl version (as of this writing, 0.2.0), the problems outlined in notes 2 and 3 do not seem to be an issue anymore.

2. Set REPL middleware that's also loaded lazily:

(swap! boot.repl/*default-middleware*
       conj 'lighttable.nrepl.handler/lighttable-ops)

3. Run REPL as usual with boot repl.

4. Connect to the REPL from Light Table: Open the Connections panel, press the add connection button, and select the Clojure (remote nREPL) client.

You can find more documentation in commit 1a765793

Clone this wiki locally