A Clojure network REPL that provides a server and client, along with some common APIs of use to IDEs and other tools that may need to evaluate Clojure code in remote environments.
nrepl.middleware.pr-values
with nrepl.middleware.print
.
nrepl.middleware.print
for configuring the print
middleware at the REPL.:requires
set contains
#'pr-values
should instead use #'wrap-print
.nrepl.middleware.caught
, provides a hook called when eval, read, or print
throws an exception or error. Defaults to clojure.main/repl-caught
.
Configurable by the dynamic var nrepl.middleware.caught/*caught-fn*
.send-ack
at cmdline
ns works with the correct transport.pr-values
, enabling pretty-printed REPL results.--transport/-t
).*1
, *2
, *3
and *e
in cloned session.*print-namespace-maps*
.nrepl.middleware.interruptible-eval/set-line!
.ctrl-d
in an interactive REPL.ThreadDeath
exception thrown by interrupt..nrepl-port
file on server startup.--connect
command-line option allowing you to connect.
with the built-in client to an already running nREPL server.-v/--version
command-line option.--help
command-line option.--bind
command-line option.--handler
and --middleware
command-line options. Extremely useful when starting nREPL using
clj
and tools.deps
, as this allows you to inject middleware trivially without the need for
something like lein
or boot
.See http://nrepl.readthedocs.io/en/latest/usage/ for more details on how to load 3rd-party middleware using --middleware
.
clj
to start your server.nrepl.server/start-server
no longer contains the
legacy key :ss
from the days of nREPL 0.1.x. If someone was using it
they should switch to :server-socket
instead.