Supplied nREPL middleware
All the functionality of cider-nrepl is provided as a collection of nREPL
middleware, each contributing one or more nREPL ops.
A few things to keep in mind about the table below:
-
Ops are listed by their canonical
cider/-prefixed names (e.g.cider/complete). Most ops are still available under their historical unprefixed names (e.g.complete) as deprecated aliases - see Supplied Ops for the full list, including the deprecated ones. -
Middleware marked with "No*" in the ClojureScript column reply with a
clojure-onlystatus when invoked in a ClojureScript session, so clients can present a meaningful message instead of misleading JVM-only results. -
Some middleware don’t add ops of their own - they enhance the built-in
evalop (e.g.wrap-content-type,wrap-enlighten).
| Middleware | Supports ClojureScript | Op(s) | Description |
|---|---|---|---|
|
No* |
|
Pattern search for symbols and documentation. |
|
No |
|
Java classpath. |
|
No |
|
Look up documentation and examples on ClojureDocs. |
|
Yes |
|
Code completion. |
|
No |
enhances |
Rich content handling; return multimedia results beyond plain text from |
|
No |
|
The interactive debugger: instrument code via the |
|
No |
enhances |
Enlighten mode: display the value of locals inline as the code runs. |
|
Yes |
|
Code and data formatting. |
|
Yes |
|
File/line, arglists, docstrings and other metadata for vars. |
|
Partial |
|
Inspect any Clojure value, navigating its structure page by page. |
|
No |
|
Capture, debug, inspect and view log events emitted by Java logging frameworks. |
|
Yes |
|
Macroexpand a Clojure form (the expander - |
|
Yes |
|
Namespace browsing & loading. |
|
Yes |
|
Echo the server’s output stream to client sessions. |
|
No* |
|
Manual profiling of functions. |
|
No* |
|
Code reloading, powered by |
|
No* |
|
Code reloading, powered by |
|
No |
|
Return resource paths. |
|
No |
|
Slurp a URL from the nREPL server, returning MIME data. |
|
No* |
|
Spec browsing. |
|
No |
|
Cause and stacktrace analysis for exceptions. |
|
Partial |
|
Subscribe to |
|
Yes |
|
Test execution, reporting, and inspection. |
|
No* |
|
Toggle tracing of vars and namespaces. |
|
Yes |
|
Track server-side namespace/var state, so clients can keep their local caches (e.g. for font-locking and completion) in sync. |
|
No* |
|
Undefine a var. |
|
Yes |
|
The CIDER-nREPL version map. |
|
No* |
|
Function references, dependencies and protocol implementation lookup. |
The authoritative list of middleware lives in the
cider.nrepl.middleware/cider-middleware var, and the authoritative op
documentation is generated from it (see Supplied Ops).
|