doomemacs/modules/lang/clojure/README.org
2021-05-08 16:52:27 -04:00

115 lines
5.9 KiB
Org Mode
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#+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]]
- [[#keybindings][Keybindings]]
- [[#configuration][Configuration]]
- [[#troubleshooting][Troubleshooting]]
* 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~)
** Maintainers
This module has no dedicated maintainers.
** Module Flags
+ =+lsp= Enables LSP support, alongside Cider.
** Plugins
+ [[https://github.com/clojure-emacs/cider][cider]]
+ [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
+ [[https://github.com/borkdude/flycheck-clj-kondo][flycheck-clj-kondo]]
** 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:
+ [[https://clojure.org/][clojure]]
+ [[https://leiningen.org/][leiningen]] (REPL)
+ [[https://github.com/borkdude/clj-kondo][clj-kondo]] (linter)
+ With =+lsp=
+ [[https://clojure-lsp.github.io/clojure-lsp/][clojure-lsp]]
* TODO Features
# An in-depth list of features, how to use them, and their dependencies.
** 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> 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= |
* 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.