documentation formatting: Thu Jan 23 11:14:51 UTC 2020
This commit is contained in:
parent
0b023bd764
commit
ff5b3ae291
|
@ -93,8 +93,8 @@ Fancify symbols replaces fn, #{} and partial with representative characters =λ=
|
||||||
clj-refactor provides Clojure specific refactor commands. The refactor commands are being
|
clj-refactor provides Clojure specific refactor commands. The refactor commands are being
|
||||||
migrated into CIDER clojure-mode. clj-refactor is not actively maintained, so use with caution.
|
migrated into CIDER clojure-mode. clj-refactor is not actively maintained, so use with caution.
|
||||||
|
|
||||||
sayid is a comprehensive debugger that analyses an entire project. Projects need to compile
|
sayid is a comprehensive debugger that analyses an entire project. Projects need to compile
|
||||||
fully or issues may occur. sayid is not as actively maintained as CIDER and may cause issues.
|
fully or issues may occur. sayid is not as actively maintained as CIDER and may cause issues.
|
||||||
|
|
||||||
*** Enabling Automatic Linting
|
*** Enabling Automatic Linting
|
||||||
[[https://github.com/borkdude/clj-kondo][clj-kondo]], [[https://github.com/candid82/joker][joker]] and [[https://github.com/clojure-emacs/squiggly-clojure][squiggly-clojure]] provide automated linting via =flycheck=.
|
[[https://github.com/borkdude/clj-kondo][clj-kondo]], [[https://github.com/candid82/joker][joker]] and [[https://github.com/clojure-emacs/squiggly-clojure][squiggly-clojure]] provide automated linting via =flycheck=.
|
||||||
|
@ -228,9 +228,8 @@ Or set this variable when loading the configuration layer:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
*** Enabling sayid or clj-refactor
|
*** Enabling sayid or clj-refactor
|
||||||
|
|
||||||
The packages sayid (Clojure debugger) and clj-refactor (automatic refactorings)
|
The packages sayid (Clojure debugger) and clj-refactor (automatic refactorings)
|
||||||
are disabled by default. These packages are less active than the CIDER project
|
are disabled by default. These packages are less active than the CIDER project
|
||||||
and may cause issues when running CIDER.
|
and may cause issues when running CIDER.
|
||||||
|
|
||||||
To enable them, add a =:variables= option when enabling the =clojure= layer,
|
To enable them, add a =:variables= option when enabling the =clojure= layer,
|
||||||
|
@ -261,7 +260,7 @@ If you are experiencing issues when running a REPL, try disabling these
|
||||||
packages first and restart Spacemacs to see if the error persists.
|
packages first and restart Spacemacs to see if the error persists.
|
||||||
|
|
||||||
* Usage
|
* Usage
|
||||||
Read the keybindings section to see all the functionality available, or simply
|
Read the key bindings section to see all the functionality available, or simply
|
||||||
use the ~,~ or ~SPC m~ to open the which-key menu for the Clojure layer.
|
use the ~,~ or ~SPC m~ to open the which-key menu for the Clojure layer.
|
||||||
|
|
||||||
** Starting a REPL from Spacemacs
|
** Starting a REPL from Spacemacs
|
||||||
|
@ -269,20 +268,20 @@ Open a Clojure file (.clj, .cljs, .cljc, .edn) and start a Clojure REPL,
|
||||||
choosing the REPL session type (Clojure, ClojureScript or both Clojure & ClojureScript).
|
choosing the REPL session type (Clojure, ClojureScript or both Clojure & ClojureScript).
|
||||||
|
|
||||||
~, '~ and ~, s i~ calls the ~sesman-start~ command, a wrapper for all the
|
~, '~ and ~, s i~ calls the ~sesman-start~ command, a wrapper for all the
|
||||||
~jack-in~ and ~connect~ commands. A prompt appears allowing you to choose the
|
~jack-in~ and ~connect~ commands. A prompt appears allowing you to choose the
|
||||||
type of REPL session required.
|
type of REPL session required.
|
||||||
|
|
||||||
~, s j~ opens the cider-jack-in menu, providing commands to start specific REPL sessions,
|
~, s j~ opens the cider-jack-in menu, providing commands to start specific REPL sessions,
|
||||||
it is the same as using the ~sesman-start~ command described previously.
|
it is the same as using the ~sesman-start~ command described previously.
|
||||||
|
|
||||||
Using the universal constant, ~SPC u~ before any of the previous commands enables editing
|
Using the universal constant, ~SPC u~ before any of the previous commands enables editing
|
||||||
of the command that starts the REPL. This is useful if you want to add a =deps.edn= alias
|
of the command that starts the REPL. This is useful if you want to add a =deps.edn= alias
|
||||||
or add your own dependencies to inject. The command is edited in the mini-buffer
|
or add your own dependencies to inject. The command is edited in the mini-buffer
|
||||||
|
|
||||||
Once the REPL starts, a confirmation message is displayed in the mini-buffer.
|
Once the REPL starts, a confirmation message is displayed in the mini-buffer.
|
||||||
|
|
||||||
The REPL buffer does not open automatically (Clojure is typically evaluated in
|
The REPL buffer does not open automatically (Clojure is typically evaluated in
|
||||||
the source code buffer). ~, s a~ will switch between REPL and source code buffers,
|
the source code buffer). ~, s a~ will switch between REPL and source code buffers,
|
||||||
opening the REPL buffer if not already shown.
|
opening the REPL buffer if not already shown.
|
||||||
|
|
||||||
*** Troubleshooting
|
*** Troubleshooting
|
||||||
|
@ -295,15 +294,14 @@ Restart Emacs and confirm the issue still occurs.
|
||||||
Visit [[https://clojurians.slack.com/messages/cider][#cider channel on Clojurians Slack community]] for help with CIDER,
|
Visit [[https://clojurians.slack.com/messages/cider][#cider channel on Clojurians Slack community]] for help with CIDER,
|
||||||
and [[https://clojurians.slack.com/messages/spacemacs][#spacemacs channel]] for Spacemacs specific help
|
and [[https://clojurians.slack.com/messages/spacemacs][#spacemacs channel]] for Spacemacs specific help
|
||||||
|
|
||||||
|
|
||||||
** Connecting to a Clojure REPL outside of Emacs
|
** Connecting to a Clojure REPL outside of Emacs
|
||||||
Start a REPL outside of Emacs that includes an nREPL server. The IP address and port
|
Start a REPL outside of Emacs that includes an nREPL server. The IP address and port
|
||||||
the nREPL runs on should be printed.
|
the nREPL runs on should be printed.
|
||||||
|
|
||||||
~, '_~ or ~SPC m s i~ displays the sesman prompt, select the connect command relevant
|
~, '_~ or ~SPC m s i~ displays the sesman prompt, select the connect command relevant
|
||||||
to the type of REPL you wish to start.
|
to the type of REPL you wish to start.
|
||||||
|
|
||||||
~, s c~ opens the cider-connect menu, providing keybindings for connecting too the
|
~, s c~ opens the cider-connect menu, providing key bindings for connecting too the
|
||||||
different REPL session types.
|
different REPL session types.
|
||||||
|
|
||||||
CIDER communicates with your Clojure process through nREPL, and for CIDER to
|
CIDER communicates with your Clojure process through nREPL, and for CIDER to
|
||||||
|
@ -366,15 +364,13 @@ More info regarding installation of nREPL middleware can be found here:
|
||||||
- CIDER: [[https://cider.readthedocs.io/en/latest/installation/][CIDER installation (official docs)]]
|
- CIDER: [[https://cider.readthedocs.io/en/latest/installation/][CIDER installation (official docs)]]
|
||||||
- clj-refactor: [[https://github.com/clojure-emacs/refactor-nrepl][refactor-nrepl]]
|
- clj-refactor: [[https://github.com/clojure-emacs/refactor-nrepl][refactor-nrepl]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
** Managing REPL connections
|
** Managing REPL connections
|
||||||
Sesman is used for [[https://docs.cider.mx/cider/usage/managing_connections.html][managing REPL connections]] when working simultaneously on
|
Sesman is used for [[https://docs.cider.mx/cider/usage/managing_connections.html][managing REPL connections]] when working simultaneously on
|
||||||
multiple projects or have multiple connections opened for the same project
|
multiple projects or have multiple connections opened for the same project
|
||||||
|
|
||||||
Files, directories and projects can be linked to an existing session.
|
Files, directories and projects can be linked to an existing session.
|
||||||
|
|
||||||
See the REPL connections keybindings section for all the commands.
|
See the REPL connections key bindings section for all the commands.
|
||||||
|
|
||||||
** Cheatsheet
|
** Cheatsheet
|
||||||
This layers installs the [[https://github.com/clojure-emacs/clojure-cheatsheet][clojure-cheatsheet]] package which embeds this useful
|
This layers installs the [[https://github.com/clojure-emacs/clojure-cheatsheet][clojure-cheatsheet]] package which embeds this useful
|
||||||
|
@ -471,7 +467,6 @@ As this state works the same for all files, the documentation is in global
|
||||||
| ~SPC m g s~ | browse spec |
|
| ~SPC m g s~ | browse spec |
|
||||||
| ~SPC m g S~ | browse all specs |
|
| ~SPC m g S~ | browse all specs |
|
||||||
|
|
||||||
|
|
||||||
*** REPL Sessions
|
*** REPL Sessions
|
||||||
|
|
||||||
| Key binding | Description |
|
| Key binding | Description |
|
||||||
|
|
|
@ -70,6 +70,7 @@ Consult the installation command for the desired language server found at [[http
|
||||||
|
|
||||||
The default LSP server for Rust is [[https://github.com/rust-lang/rls][rls]], i.e. rust language server.
|
The default LSP server for Rust is [[https://github.com/rust-lang/rls][rls]], i.e. rust language server.
|
||||||
To choose the experimental [[https://github.com/rust-analyzer/rust-analyzer][rust-analyzer]], you need to set the layer variable =lsp-rust-server= of =lsp= layer:
|
To choose the experimental [[https://github.com/rust-analyzer/rust-analyzer][rust-analyzer]], you need to set the layer variable =lsp-rust-server= of =lsp= layer:
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
(lsp :variables lsp-rust-server 'rust-analyzer)
|
(lsp :variables lsp-rust-server 'rust-analyzer)
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,8 @@ file.
|
||||||
Toggle whether =company-nixos-options= completion is enabled (defaults to =t=).
|
Toggle whether =company-nixos-options= completion is enabled (defaults to =t=).
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq-default dotspacemacs-configuration-layers
|
(setq-default dotspacemacs-configuration-layers
|
||||||
'((nixos :variables nixos-enable-company t)))
|
'((nixos :variables nixos-enable-company t)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Key bindings
|
* Key bindings
|
||||||
|
|
|
@ -180,7 +180,7 @@
|
||||||
- [[#speed-reading][Speed reading]]
|
- [[#speed-reading][Speed reading]]
|
||||||
- [[#source-control][Source control]]
|
- [[#source-control][Source control]]
|
||||||
- [[#git][Git]]
|
- [[#git][Git]]
|
||||||
- [[#github][GitHub]]
|
- [[#github][Github]]
|
||||||
- [[#perforce][Perforce]]
|
- [[#perforce][Perforce]]
|
||||||
- [[#version-control][Version-control]]
|
- [[#version-control][Version-control]]
|
||||||
- [[#spacemacs][Spacemacs]]
|
- [[#spacemacs][Spacemacs]]
|
||||||
|
@ -1208,13 +1208,21 @@ This layer adds support for [[https://clojure.org/][Clojure]] language using [[h
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- REPL via [[https://github.com/clojure-emacs/cider][CIDER]]
|
- REPL via [[https://github.com/clojure-emacs/cider][CIDER]]
|
||||||
|
- REPL session management via Sesman
|
||||||
- Code formatting via [[https://github.com/clojure-emacs/cider][CIDER]] using [[https://github.com/weavejester/cljfmt][Cljfmt]]
|
- Code formatting via [[https://github.com/clojure-emacs/cider][CIDER]] using [[https://github.com/weavejester/cljfmt][Cljfmt]]
|
||||||
- Refactoring via [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
|
||||||
- Linting via [[https://github.com/clojure-emacs/squiggly-clojure][squiggly-clojure]], [[https://github.com/borkdude/clj-kondo][clj-kondo]] or [[https://github.com/candid82/joker][joker]]
|
|
||||||
- Aligning of code forms via [[https://github.com/clojure-emacs/clojure-mode][clojure-mode]]
|
- Aligning of code forms via [[https://github.com/clojure-emacs/clojure-mode][clojure-mode]]
|
||||||
- Debugging with [[https://github.com/clojure-emacs/sayid][sayid]]
|
- Debugging with CIDER debug
|
||||||
- Clojure cheatsheet
|
- Clojure cheatsheet
|
||||||
|
|
||||||
|
|
||||||
|
Recommended optional features
|
||||||
- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]
|
- Structuraly safe editing using optional [[https://github.com/luxbock/evil-cleverparens][evil-cleverparens]]
|
||||||
|
- Linting via [[https://github.com/borkdude/clj-kondo][clj-kondo]] ([[https://github.com/candid82/joker][joker]] and [[https://github.com/clojure-emacs/squiggly-clojure][squiggly-clojure]] also available)
|
||||||
|
|
||||||
|
|
||||||
|
Other optional features
|
||||||
|
- Refactoring via [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
||||||
|
- Debugging with [[https://github.com/clojure-emacs/sayid][sayid]] (beta)
|
||||||
|
|
||||||
**** Common lisp
|
**** Common lisp
|
||||||
[[file:+lang/common-lisp/README.org][+lang/common-lisp/README.org]]
|
[[file:+lang/common-lisp/README.org][+lang/common-lisp/README.org]]
|
||||||
|
@ -2038,7 +2046,7 @@ Features:
|
||||||
This layer supports [[https://www.rust-lang.org][Rust]] development in Spacemacs.
|
This layer supports [[https://www.rust-lang.org][Rust]] development in Spacemacs.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
- Auto-completion and navigation support through [[https://github.com/emacs-lsp/lsp-rust][lsp]] or [[https://github.com/phildawes/racer][Racer]]
|
- Auto-completion and navigation support through [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] or [[https://github.com/phildawes/racer][Racer]]
|
||||||
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
- Interactive debugger using [[https://github.com/emacs-lsp/dap-mode][dap-mode]]
|
||||||
- support for the Rust package manager [[http://doc.crates.io/index.html][Cargo]]
|
- support for the Rust package manager [[http://doc.crates.io/index.html][Cargo]]
|
||||||
|
|
||||||
|
@ -2345,7 +2353,7 @@ Features:
|
||||||
|
|
||||||
New to Magit? Checkout the [[https://magit.vc/about/][official intro]].
|
New to Magit? Checkout the [[https://magit.vc/about/][official intro]].
|
||||||
|
|
||||||
** GitHub
|
** Github
|
||||||
[[file:+source-control/github/README.org][+source-control/github/README.org]]
|
[[file:+source-control/github/README.org][+source-control/github/README.org]]
|
||||||
|
|
||||||
This layers adds support for [[http://github.com][GitHub]].
|
This layers adds support for [[http://github.com][GitHub]].
|
||||||
|
|
Loading…
Reference in a new issue