2022-08-03 02:46:13 +02:00
|
|
|
# -*- mode: doom-docs-org -*-
|
2022-03-28 15:03:21 +02:00
|
|
|
#+title: :lang clojure
|
|
|
|
#+subtitle: Java with a lisp
|
|
|
|
#+created: May 30, 2017
|
|
|
|
#+since: 2.0.3
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* Description :unfold:
|
2020-03-30 22:07:25 +03:00
|
|
|
This module adds support for the Clojure(Script) language.
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
- Interactive development environment (~cider~): REPL, compilation, debugging,
|
2021-05-08 16:52:27 -04:00
|
|
|
running tests, definitions & documentation lookup, code completion, and much
|
2020-03-30 22:07:25 +03:00
|
|
|
more
|
2021-10-16 01:28:32 +02:00
|
|
|
- Refactoring (~clj-refactor~)
|
|
|
|
- Linting (~clj-kondo~), requires ~:checkers syntax~
|
|
|
|
- LSP support (~clojure-lsp~)
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
** Maintainers
|
2021-10-16 01:28:32 +02:00
|
|
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** Module flags
|
|
|
|
- +lsp ::
|
|
|
|
Enable LSP support for ~clojure-mode~ (alongside Cider). Requires [[doom-module:][:tools lsp]]
|
|
|
|
and a langserver (supports [[https://clojure-lsp.io/][clojure-lsp]]).
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** Packages
|
|
|
|
- [[doom-package:][cider]]
|
|
|
|
- [[doom-package:][clj-refactor]]
|
|
|
|
- [[doom-package:][flycheck-clj-kondo]] if [[doom-module:][:checkers syntax]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
** Hacks
|
2021-10-16 01:28:32 +02:00
|
|
|
- Error messages emitted from CIDER are piped into the REPL buffer when it is
|
2020-02-23 16:24:11 -05:00
|
|
|
first opened, to make them easier to notice.
|
2021-10-16 01:28:32 +02:00
|
|
|
- Disabled the help banner when opening the cider REPL.
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** TODO Changelog
|
|
|
|
# This section will be machine generated. Don't edit it by hand.
|
|
|
|
/This module does not have a changelog yet./
|
|
|
|
|
|
|
|
* Installation
|
|
|
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
This module requires:
|
|
|
|
- [[https://clojure.org/][clojure]]
|
|
|
|
- [[https://leiningen.org/][leiningen]], for the REPL
|
|
|
|
- [[https://github.com/borkdude/clj-kondo][clj-kondo]], for linting code
|
|
|
|
- [[https://clojure-lsp.github.io/clojure-lsp/][clojure-lsp]], for LSP support (if [[doom-module:][+lsp]])
|
2021-05-08 16:52:27 -04:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* TODO Usage
|
|
|
|
#+begin_quote
|
|
|
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
|
|
|
#+end_quote
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
| Keybind | Command |
|
|
|
|
|-------------------+------------------------------------------------------|
|
|
|
|
| [[kbd:][<localleader> ']] | ~cider-jack-in-clj~ |
|
|
|
|
| [[kbd:][<localleader> C]] | ~cider-connect-cljs~ |
|
|
|
|
| [[kbd:][<localleader> M]] | ~cider-macroexpand-all~ |
|
|
|
|
| [[kbd:][<localleader> R]] | ~hydra-cljr-help-menu/body~ |
|
|
|
|
| [[kbd:][<localleader> c]] | ~cider-connect-clj~ |
|
|
|
|
| [[kbd:][<localleader> e D]] | ~cider-insert-defun-in-repl~ |
|
|
|
|
| [[kbd:][<localleader> e E]] | ~cider-insert-last-sexp-in-repl~ |
|
|
|
|
| [[kbd:][<localleader> e R]] | ~cider-insert-region-in-repl~ |
|
|
|
|
| [[kbd:][<localleader> e b]] | ~cider-eval-buffer~ |
|
|
|
|
| [[kbd:][<localleader> e d]] | ~cider-eval-defun-at-point~ |
|
|
|
|
| [[kbd:][<localleader> e e]] | ~cider-eval-last-sexp~ |
|
|
|
|
| [[kbd:][<localleader> e r]] | ~cider-eval-region~ |
|
|
|
|
| [[kbd:][<localleader> e u]] | ~cider-undef~ |
|
|
|
|
| [[kbd:][<localleader> g b]] | ~cider-pop-back~ |
|
|
|
|
| [[kbd:][<localleader> g g]] | ~cider-find-var~ |
|
|
|
|
| [[kbd:][<localleader> g n]] | ~cider-find-ns~ |
|
|
|
|
| [[kbd:][<localleader> h a]] | ~cider-apropos~ |
|
|
|
|
| [[kbd:][<localleader> h c]] | ~cider-clojuredocs~ |
|
|
|
|
| [[kbd:][<localleader> h d]] | ~cider-doc~ |
|
|
|
|
| [[kbd:][<localleader> h j]] | ~cider-javadoc~ |
|
|
|
|
| [[kbd:][<localleader> h n]] | ~cider-find-ns~ |
|
|
|
|
| [[kbd:][<localleader> h w]] | ~cider-clojuredocs-web~ |
|
|
|
|
| [[kbd:][<localleader> i e]] | ~cider-enlighten-mode~ |
|
|
|
|
| [[kbd:][<localleader> i i]] | ~cider-inspect~ |
|
|
|
|
| [[kbd:][<localleader> i r]] | ~cider-inspect-last-result~ |
|
|
|
|
| [[kbd:][<localleader> m "]] | ~cider-jack-in-cljs~ |
|
|
|
|
| [[kbd:][<localleader> m]] | ~cider-macroexpand-1~ |
|
|
|
|
| [[kbd:][<localleader> n N]] | ~cider-browse-ns-all~ |
|
|
|
|
| [[kbd:][<localleader> n n]] | ~cider-browse-ns~ |
|
|
|
|
| [[kbd:][<localleader> n r]] | ~cider-ns-refresh~ |
|
|
|
|
| [[kbd:][<localleader> p d]] | ~cider-pprint-eval-defun-at-point~ |
|
|
|
|
| [[kbd:][<localleader> p D]] | ~cider-pprint-eval-defun-to-comment~ |
|
|
|
|
| [[kbd:][<localleader> p p]] | ~cider-pprint-eval-last-sexp~ |
|
|
|
|
| [[kbd:][<localleader> p P]] | ~cider-pprint-eval-last-sexp-to-comment~ |
|
|
|
|
| [[kbd:][<localleader> p r]] | ~cider-pprint-eval-last-sexp-to-repl~ |
|
|
|
|
| [[kbd:][<localleader> r B]] | ~+clojure/cider-switch-to-repl-buffer-and-switch-ns~ |
|
|
|
|
| [[kbd:][<localleader> r L]] | ~cider-load-buffer-and-switch-to-repl-buffer~ |
|
|
|
|
| [[kbd:][<localleader> r R]] | ~cider-restart~ |
|
|
|
|
| [[kbd:][<localleader> r b]] | ~cider-switch-to-repl-buffer~ |
|
|
|
|
| [[kbd:][<localleader> r c]] | ~cider-find-and-clear-repl-output~ |
|
|
|
|
| [[kbd:][<localleader> r l]] | ~cider-load-buffer~ |
|
|
|
|
| [[kbd:][<localleader> r n]] | ~cider-repl-set-ns~ |
|
|
|
|
| [[kbd:][<localleader> r q]] | ~cider-quit~ |
|
|
|
|
| [[kbd:][<localleader> r r]] | ~cider-ns-refresh~ |
|
|
|
|
| [[kbd:][<localleader> t a]] | ~cider-test-rerun-test~ |
|
|
|
|
| [[kbd:][<localleader> t l]] | ~cider-test-run-loaded-tests~ |
|
|
|
|
| [[kbd:][<localleader> t n]] | ~cider-test-run-ns-tests~ |
|
|
|
|
| [[kbd:][<localleader> t p]] | ~cider-test-run-project-tests~ |
|
|
|
|
| [[kbd:][<localleader> t r]] | ~cider-test-rerun-failed-tests~ |
|
|
|
|
| [[kbd:][<localleader> t s]] | ~cider-test-run-ns-tests-with-filters~ |
|
|
|
|
| [[kbd:][<localleader> t t]] | ~cider-test-run-test~ |
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
* TODO Configuration
|
2021-10-16 01:28:32 +02:00
|
|
|
#+begin_quote
|
|
|
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
|
|
|
#+end_quote
|
|
|
|
|
|
|
|
* Troubleshooting
|
|
|
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
|
|
|
|
|
|
|
* Frequently asked questions
|
|
|
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* TODO Appendix
|
|
|
|
#+begin_quote
|
|
|
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
|
|
|
#+end_quote
|