The Clojure Interactive Development Environment that Rocks for Emacs
babashka.nrepl
).lookup
op.ls-middleware
op.cider-eval-list-at-point
).cider-eldoc
. They used to be just var
and fn
and now we have additional handling for
macros, special forms and methods.cider-nrepl
).M-x cider-clojuredocs-refresh-cache
).cider-jack-in
).cider-doc
buffers, when you eval fallback to obtain var metadata..
and ..
.eldoc
requests.cider-pprint-eval-last-sexp-to-comment
, avoid printing empty comment if eval throws error.My (Bozhidar's) work on this release was sponsored by Clojurists Together. They deserve a very special thanks for their continued support of CIDER and its Orchard!
cider-inspector-skip-uninteresting
to control whether to skip over nils, numbers and keywords when navigating between values in the inspector buffer.cider-auto-inspect-after-eval
to control whether a visible inspector buffer is updated with the last evaluated result.completions
op. It's used if cider-nrepl
is not available.browser
to the list of supported ClojureScript REPL types.cider-repl-toggle-clojure-font-lock
).cider-print-buffer-size
). It's set to 4K by default, nREPL own default is 1k.cider-symbol-at-point
.Insert last sexp in REPL
.cider-repl-use-content-types
to re-enable it)cider-find-var
.cider-jump-to-pop-to-buffer-actions
.P
to inspect an arbitrary expression, it was previously bound to p
which now inspects the current value.cider-inspector-def-current-val
lets you define a var with the current inspector value.cider-doc-xref-regexp
to recognize [[var]]
syntax and fully qualified symbols as xref links in cider-doc buffers.cider-debug-prompt-commands
.nrepl-hide-special-buffers
.user
ns.cider-result-overlay-position
determining where debugger and inline eval result overlays should be displayed. Current options are 'at-eol and 'at-point.cider-path-translations
for translating paths from nREPL messages (useful where a file appears to be somewhere, but it's actually somewhere else).cider-clojuredocs-refresh-cache
.cider-selector
has more robust handling for edge cases.cider-enhanced-cljs-completion-p
to nil.shadow-cljs
presence check.suitable
used by cider-nrepl
).clojuredocs-lookup
..
(e.g. SomeRecord.
).cider-clojure-cli-command
is "powershell"
to avoid escaping issues. If no clojure
command is found on Windows cider-clojure-cli-command
defaults to "powershell"
.cider-edit-jack-in-command
is truthy.cider-repl-require-ns-on-set
: Set it to make cider require the namespace before setting it, when calling cider-repl-set-ns
.eval
-based classpath lookup fallback. It's used when cider-nrepl is not present.eval
-based var info lookup fallback. It's used when cider-nrepl is not present.cider-xref-fn-refs
).cider-xref-fn-deps
).cider-use-tooltips
now also controls whether help-echo
is used.cider-print-options
is now supported by the pr
option for cider-print-fn
. The options will now be also used by interactive eval commands that do not use pretty-printing.spec-list
and spec-form
requests send the current namespace for alias resolution.C-c , C-g
and C-c C-t C-g
cancel the key chord instead of rerunning the last test. The respective command has been moved to C-c , C-a
, C-c , a
, C-c C-t C-a
and C-c C-t a
.cider.tasks/nrepl-server
custom task for cider-jack-in
with Boot.cider-repl-require-repl-utils
now loads cljs specific repl utils in cljs buffers.cider-load-buffer
now takes an optional callback
that will override the default cider-load-file-handler
.cider-load-file-handler
now takes an optional done-handler
lambda that is run once load is complete.exclude-regexps
in apropos under correct keycider-repl-pop-to-buffer-on-connect
is nil. This fixes a bug introduced by commit e0aca78b.:init-ns
).cider-eval-*-to-comment
commands. This fixes a bug where editing the buffer during a pending evaluation resulted in comments appearing in unintended locations.cider-library-present-p
. Now it does a require
instead to check if some library is present or not.#shadow/env
reader tags in cider--shadow-get-builds
.cider--file-string
, to allow cider-load-buffer
to work on narrowed buffers.cider-mode
until all CIDER sessions have been closed.cider-test-run-*
and cider-ns-refresh-*
commands are now interruptible by the cider-interrupt
command.cider-repl-init-code
. This is a list of strings containing Clojure code to evaluate when the REPL starts (with bindings for any set!
-able vars in place). Replaces cider-print-length
and cider-print-level
, which are now obsolete.cider-print-quota
. This is a hard limit on the number of bytes that will be returned by any printing operation. This defaults to one megabyte and can be set to nil
if no limit is desired.cider.nrepl.middleware.pprint
. All functionality has been replaced by the built-in printing support in nREPL 0.6.cider-repl-scroll-on-output
is now obsolete, and the default REPL behaviour has changed to not recenter the window. The built-in variable scroll-conservatively
can be set to 101 (either globally or locally in the REPL buffer) to restore the old behaviour. This change has a dramatic positive effect on REPL performance.cider-pprint-fn
and cider-pprint-options
are now obsolete, replaced by cider-print-fn
and cider-print-options
.cider-debug-print-options
, cider-stacktrace-print-options
, and cider-repl-pretty-print-width
are now all obsolete, replaced by cider-print-options
.cider-ns-save-files-on-refresh-modes
to control for which buffers cider-ns-refresh
should save before refreshing.cider-preferred-build-tool
variable.cider-allow-jack-in-without-project
variable.cider-ns-save-files-on-refresh
will now save any modified buffers visiting files on the classpath, rather than just in the current project.cider-expected-ns
no longer requires an absolute path as its argument, and now internally handles paths canonically and consistently.cider-pprint-eval-last-sexp-to-comment
and cider-pprint-eval-defun-to-comment
to not insert anything.cider-find-var
now correctly uses a new window when passed a prefix of -
or a double prefix argument.cider-pprint-options
.C-u C-j
.CompilationException
dynamic source location discovery.cider-load-all-files
(C-c C-M-l
). Previously, this only loaded clj files.cider-find-var
opens archive files inside AVFS folders if AVFS is detected.continue
debug command into "continue till next breakpoint" (c
) and "continue non stop" (C
) commands.cider-auto-jump-to-error
is set to 'errors-only.continue
debugger command which was stopping entering debugger on repeated invocations.C-c C-x
keys without loading cider first (autoload cider-start-map
).cider-check-cljs-repl-requirements
take effect again.cider-toggle-connection-buffer
from the docs.display-buffer
.cider-jack-in
to ::
(use localhost
instead).cider-infer-remote-nrepl-ports
to control whether we use tramp/ssh to infer remote ports. Now defaulting to nil
(previously it always tried to infer).cider-eval-toplevel-inside-comment-form
into clojure-mode as clojure-toplevel-inside-comment-form
so beginning-of-defun
is aware of comment forms.cider-session-name-template
variable for flexible customization of cider session and REPL buffer names.C-c M-r
to cider-restart
.cider-start-map
keymap (C-c C-x
) for jack-in and connection commands.cider-ns-map
keymap (C-c M-n
) for namespace related functionality.cider-eval-toplevel-inside-comment-form
.C-c C-j
.cider-invert-insert-eval-p
: Set to cause insert-to-repl commands to eval the forms by default when inserted.cider-switch-to-repl-after-insert-p
: Set to prevent cursor from going to the repl when inserting a form in the repl with the insert-to-repl commands.cider-jack-in-clojurescript
.cider
(C-c M-x
) that acts as a simple wrapper around all commands for starting/connecting to REPLs.cider-repl-auto-detect-type
.cider-scratch-initial-message
.cider-selector
.cider-ns-reload
and cider-ns-reload-all
interactive commands.cider-eval-sexp-to-point
.cider-format-edn-last-sexp
will format the last sexp.cider-use-tooltips
custom variable works as expected.lein
as the default jack-in command when clojure
is not present.cider-repl-set-ns
, previously on C-c M-n
, on C-c M-n (M-)n
in the cider-ns-map
.cider-ns-refresh
, previously on C-c C-x
, on C-c M-n (M-)r
in the cider-ns-map
.nrepl-buffer-name-separator
and nrepl-buffer-name-show-port
. See cider-session-name-template
and cider-format-connection-params
for how to customize CIDER buffer names.cider-eval-defun-to-point
to cider-eval-defun-up-to-point
.cider-eval-defun-up-to-point
.cider-ping
command.cider-visit-error-buffer
in favour of using cider-selector
.cider-refresh
to cider-ns-refresh
(and all the related defcustoms).cider-jack-in-clojurescript
now creates only a ClojureScript REPL (use cider-jack-in-clj&cljs
to create both REPLs).cider-pprint-eval-last-sexp
to C-c C-v (C-)f (C-)e
in the cider-eval-commands-map
.cider-pprint-eval-defun-at-point
to C-c C-v (C-)f (C-)d
in the cider-eval-commands-map
.dev
). Previously, a keyword (e.g., :dev
) was required.cider-required-middleware-version
to track it.cider-repl
can now display recognized images in the REPL buffer.cider-jdk-src-paths
. Configure it to connect stack trace links to Java source code.cider-eval-defun-to-point
which is bound to C-c C-v (C-)z
. It evaluates the current top-level form up to the point.cider-eval-last-sexp-in-context
(bound to C-c C-v (C-)c
) and cider-eval-sexp-at-point-in-context
(bound to C-c C-v (C-)b
).cider-repl-set-type
.cider-connect-clojurescript
.cider-browse-ns-mode
.*print-level*
and *print-length*
via defcustoms (cider-repl-print-level
and cider-repl-print-length
).cider-cheatsheet
allows you to browse the Clojure Cheatsheet with an Emacs interface.clojure
command-line tool and tools.deps
.cider-test-ediff
diff eval'ed values.cider-jack-in
.cider-jack-in-lein-plugins
and cider-jack-in-nrepl-middlewares
.cider-redirect-server-output-to-repl
).cider-toggle-buffer-connection
to allow cycling of connection and restoring all connections in cljc buffers.jump to definition
working properly when remote cider-jack-in
and cider-connect
.cider-format-buffer
handle mismatched parens gracefully.cider-browse-spec-regex
, and changed cider-browse-spec-all
to use it.cider-doc
buffer.cider-eval-region
masking clojure-refactor-map
in cider-repl-mode
.See Also
mappings for Clojure 1.9.cider-jack-in-clojurescript
prompt from the ClojureScript REPL type to use.