-
-
Notifications
You must be signed in to change notification settings - Fork 182
Light Table REPL
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 inbuild.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
You can find other developers and users in the #hoplon
channel on freenode IRC or the boot slack channel.
If you have questions or need help, please visit the Discourse site.
- Environments
- Boot environment
- Java environment
- Tasks
- Built-ins
- Third-party
- Tasks Options
- Filesets
- Target Directory
- Pods
- Boot Exceptions
- Configuring Boot
- Updating Boot
- Setting Clojure version
- JVM Options
- S3 Repositories
- Scripts
- Task Writer's Guide
- Require inside Tasks
- Boot for Leiningen Users
- Boot in Leiningen Projects
- Repl reloading
- Repository Credentials and Deploying
- Snippets
- Troubleshooting
- FAQ
- API docs
- Core
- Pod
- Util