:lang clojure

Java with a lisp

1. Description

This module adds support for the Clojure(Script) language.

  • Interactive development environment (cider): REPL, compilation, debugging, running tests, definitions & documentation lookup, code completion, and much more
  • Refactoring (clj-refactor)
  • Linting (clj-kondo), requires :checkers syntax
  • LSP support (clojure-lsp)

1.1. Maintainers

This module has no dedicated maintainers. Become a maintainer?

1.2. Module flags

Enable LSP support for clojure-mode, alongside Cider. Requires :tools lsp and a langserver (supports clojure-lsp).

1.4. Hacks

  • Error messages emitted from CIDER are piped into the REPL buffer when it is first opened, to make them easier to notice.
  • Disabled the help banner when opening the cider REPL.

2. Prerequisites

This module requires:

3. TODO Usage

This module’s usage documentation is incomplete. Complete it?

3.1. Keybindings

Keybind Description
<localleader> ’​ cider-jack-in-clj
<localleader> C cider-connect-cljs
<localleader> M cider-macroexpand-all
<localleader> R hydra-cljr-help-menu/body
<localleader> c cider-connect-clj
<localleader> e D cider-insert-defun-in-repl
<localleader> e E cider-insert-last-sexp-in-repl
<localleader> e R cider-insert-region-in-repl
<localleader> e b cider-eval-buffer
<localleader> e d cider-eval-defun-at-point
<localleader> e e cider-eval-last-sexp
<localleader> e r cider-eval-region
<localleader> e u cider-undef
<localleader> g b cider-pop-back
<localleader> g g cider-find-var
<localleader> g n cider-find-ns
<localleader> h a cider-apropos
<localleader> h c cider-clojuredocs
<localleader> h d cider-doc
<localleader> h j cider-javadoc
<localleader> h n cider-find-ns
<localleader> h w cider-clojuredocs-web
<localleader> i e cider-enlighten-mode
<localleader> i i cider-inspect
<localleader> i r cider-inspect-last-result
<localleader> m “​ cider-jack-in-cljs
<localleader> m cider-macroexpand-1
<localleader> n N cider-browse-ns-all
<localleader> n n cider-browse-ns
<localleader> n r cider-ns-refresh
<localleader> p d cider-pprint-eval-defun-at-point
<localleader> p D cider-pprint-eval-defun-to-comment
<localleader> p p cider-pprint-eval-last-sexp
<localleader> p P cider-pprint-eval-last-sexp-to-comment
<localleader> p r cider-pprint-eval-last-sexp-to-repl
<localleader> r B +clojure/cider-switch-to-repl-buffer-and-switch-ns
<localleader> r L cider-load-buffer-and-switch-to-repl-buffer
<localleader> r R cider-restart
<localleader> r b cider-switch-to-repl-buffer
<localleader> r c cider-find-and-clear-repl-output
<localleader> r l cider-load-buffer
<localleader> r n cider-repl-set-ns
<localleader> r q cider-quit
<localleader> r r cider-ns-refresh
<localleader> t a cider-test-rerun-test
<localleader> t l cider-test-run-loaded-tests
<localleader> t n cider-test-run-ns-tests
<localleader> t p cider-test-run-project-tests
<localleader> t r cider-test-rerun-failed-tests
<localleader> t s cider-test-run-ns-tests-with-filters
<localleader> t t cider-test-run-test

4. TODO Configuration

This module has no configuration documentation yet. Write some?

5. Troubleshooting

There are no known problems with this module. Report one?

6. TODO Appendix

This module has no appendix yet. Write one?