2020-02-23 16:24:11 -05:00
|
|
|
|
#+TITLE: lang/clojure
|
|
|
|
|
#+DATE: May 30, 2017
|
|
|
|
|
#+SINCE: v2.0
|
|
|
|
|
#+STARTUP: inlineimages nofold
|
|
|
|
|
|
|
|
|
|
* Table of Contents :TOC_3:noexport:
|
|
|
|
|
- [[#description][Description]]
|
|
|
|
|
- [[#maintainers][Maintainers]]
|
|
|
|
|
- [[#module-flags][Module Flags]]
|
|
|
|
|
- [[#plugins][Plugins]]
|
|
|
|
|
- [[#hacks][Hacks]]
|
|
|
|
|
- [[#prerequisites][Prerequisites]]
|
|
|
|
|
- [[#features][Features]]
|
2020-10-11 00:08:00 +01:00
|
|
|
|
- [[#keybindings][Keybindings]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
- [[#configuration][Configuration]]
|
|
|
|
|
- [[#troubleshooting][Troubleshooting]]
|
|
|
|
|
|
|
|
|
|
* Description
|
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
|
|
|
|
|
2020-03-30 22:07:25 +03:00
|
|
|
|
+ Interactive development environment (~cider~): REPL, compilation, debugging,
|
|
|
|
|
running tests, definitions & documentation lookup, code completion, and many
|
|
|
|
|
more
|
|
|
|
|
+ Refactoring (~clj-refactor~)
|
|
|
|
|
+ Linting (~clj-kondo~), requires ~:checkers syntax~
|
|
|
|
|
+ LSP support
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
|
|
** Maintainers
|
|
|
|
|
This module has no dedicated maintainers.
|
|
|
|
|
|
|
|
|
|
** Module Flags
|
2020-02-26 12:54:33 -05:00
|
|
|
|
+ =+lsp= Enables LSP support, alongside Cider.
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
|
|
** Plugins
|
2020-02-26 12:54:33 -05:00
|
|
|
|
+ [[https://github.com/clojure-emacs/cider][cider]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
+ [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
2020-03-30 22:07:25 +03:00
|
|
|
|
+ [[https://github.com/borkdude/flycheck-clj-kondo][flycheck-clj-kondo]]
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
|
|
** 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.
|
|
|
|
|
|
|
|
|
|
* Prerequisites
|
|
|
|
|
This module requires:
|
|
|
|
|
|
|
|
|
|
+ clojure
|
|
|
|
|
+ With =+lsp=
|
|
|
|
|
+ clojure-lsp
|
|
|
|
|
+ Without =+lsp=
|
2020-03-30 22:07:25 +03:00
|
|
|
|
+ [[https://leiningen.org/][leiningen]] (REPL)
|
|
|
|
|
+ [[https://github.com/borkdude/clj-kondo][clj-kondo]] (linter)
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
|
|
* TODO Features
|
|
|
|
|
# An in-depth list of features, how to use them, and their dependencies.
|
2020-10-11 00:08:00 +01:00
|
|
|
|
** Keybindings
|
|
|
|
|
| Binding | 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> 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= |
|
2020-02-23 16:24:11 -05:00
|
|
|
|
|
|
|
|
|
* TODO Configuration
|
|
|
|
|
# How to configure this module, including common problems and how to address them.
|
|
|
|
|
|
|
|
|
|
* TODO Troubleshooting
|
|
|
|
|
# Common issues and their solution, or places to look for help.
|