Extensions
Here’s a list of notable nREPL extensions (middleware or transports) you might encounter in the wild.
Make sure you’re using the latest versions of those middleware, as all of them added support for nREPL 0.4+ fairly recently. |
Official
Official extensions are developed and maintained by nREPL’s Core Team and are hosted under the nREPL GitHub organization.
Middleware
ClojureScript Support
The following ClojureScript REPLs are leveraging piggieback internally to provide nREPL support.
-
shadow-cljs (it actually only stubs the piggieback API, leverages its own nREPL middleware internally for ClojureScript evaluation)
Third-party
Third-party extensions are not developed and maintained by nREPL’s Core Team and are hosted outside the nREPL GitHub organization.
Middleware
Clojure Editor Support
-
cider-nrepl: A collection of nREPL middleware designed to enhance CIDER (and Clojure editors in general).
-
refactor-nrepl: A collection of functionality designed to support editor refactoring features.
-
iced-nrepl: nREPL middleware to support vim-iced.
-
midje-nrepl: nREPL middleware to run Midje tests.
Debugging
-
sayid: A powerful tracing/debugging tool. It is a great alternative of CIDER-nREPL’s basic tracing functionality.
-
scope-capture-nrepl: A companion library to scope-capture, providing an nREPL middleware that lets you put your REPL in the context of an Execution Point.
Deprecated
This section lists middleware that were somewhat prominent in the past, but were replaced by alternatives down the road.
-
nrepl-middleware, part of ritz that provides a variety of nREPL middleware supporting various enhanced REPL operations (including apropos, javadoc lookup, code completion, and an alternative eval implementation). (superseded by
cider-nrepl
) -
Javert provides a basic object inspector. (superseded by
cider-nrepl
) -
nrepl-profile: profiling middleware, which was eventually integrated into
cider-nrepl
.
This list doesn’t aim to be complete. You can find more 3rd-party middleware listed here. |