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-only status 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
eval op (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).
|
Can you improve this documentation? These fine people already did:
Bozhidar Batsov, Oleksandr Yakushev, Roman Scherer & Arne BrasseurEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |