CIDER is certainly not perfect and has some limitations that everyone should be aware of.
Currently, the following features are not supported for ClojureScript development:
Debugging (check out this ticket dedicated to porting the debugger to ClojureScript)
There is currently no support for both Clojure and ClojureScript evaluation in the same nREPL session. If Piggieback is active, code evaluation and all features will assume ClojureScript.
On Microsoft Windows the JVM default line separator string is
which can appear in Emacs as
^M characters at the end of lines
printed out by the JVM. One option is to set the
buffer-display-table to not show these characters as detailed
cider-repl-mode-hook). Alternatively, setting the system property
\n at JVM startup will stop the carriage return
from being printed and will fix output in all cider buffers. To do so
Definition lookup in jar files
In order for source lookup commands to work with
.jar files you’ll need to
install either 7zip or
pkunzip and add its
installation folder to Emacs’s
exec-path. Here’s an example:
(add-to-list 'exec-path "C:/Program Files/7-Zip")
The powershell inferior shell mode truncates CIDER’s REPL output when loaded. As a workaround remove
from your Emacs config.
CIDER currently has very basic support ClojureCLR (via Arcadia’s nREPL server). The reasons for this are the following:
nREPL itself runs only on the JVM (because it leverages Java APIs internally). There’s an nREPL port for ClojureCLR, but it’s not actively maintained and it doesn’t behave like the Clojure nREPL.
cider-nrepluses a lot of Java code internally itself.
Those issues are not insurmountable, but are beyond the scope of our current roadmap. If someone would like to tackle them, we’d be happy to provide assistance.
Injecting dependencies and Leiningen pedantic: abort mode
Because injection currently creates an override of the nREPL dependency that
Leingingen also pulls in starting up the REPL will fail if
is set. There are several ways to address this:
Switch off injecting the dependencies with setting
niland provide the dependencies by editing your
~/.lein/profiles.cljas described in the standalone REPL section.
Adjust the value of
cider-injected-nrepl-versionto the same nREPL version as the one that’s bundled with Leiningen.