You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To use this configuration layer, add it to your ~/.spacemacs. You will need to
add clojure to the existing dotspacemacs-configuration-layers list in this
file.
Pretty Symbols
Pretty symbols for anonymous functions, set literals and partial, like (λ [a]
(+ a 5)), ƒ(+ % 5), ∈{2 4 6} and Ƥ.
To enable this feature, add the following snippet to the
dotspacemacs/user-config section of your ~/.spacemacs file:
(setq clojure-enable-fancify-symbols t)
Or set this variable when loading the configuration layer:
After creating your project with lein new app <projectname> or
importing an existing project, run SPC m s i in any of the clojure
source files to connect to the CIDER REPL.
More details
More info regarding installation of nREPL middleware can be found here:
Working with clojure files (barfage, slurpage & more)
Spacemacs comes with a special lisp-state for working with lisp code that
supports slurpage, barfage and more tools you’ll likely want when working with
lisp.
As this state works the same for all files, the documentation is in global
DOCUMENTATION.org. In general, use SPC k to interact with the lisp-state.
Leader
Documentation
Key Binding
Description
SPC m h g
cider grimoire
SPC m h h
cider doc
SPC m h j
cider javadoc
Evaluation
Key Binding
Description
SPC m e b
eval buffer
SPC m e e
eval last sexp
SPC m e f
eval function at point
SPC m e r
eval region
SPC m e w
eval last sexp and replace with result
Goto
Key Binding
Description
SPC m g b
go back
SPC m g g
goto var
SPC m g e
goto error
SPC m g r
goto resource
REPL
Key Binding
Description
SPC m s b
send and eval buffer in REPL
SPC m s B
send and eval buffer and switch to REPL in insert state
SPC m s c
connect to REPL (cider-connect)
SPC m s e
send and eval last sexp in REPL
SPC m s E
send and eval last sexp and switch to REPL in insert state
SPC m s f
send and eval function in REPL
SPC m s F
send and eval function and switch to REPL in insert state
send and eval ns form and switch to REPL in insert state
SPC m s q
kill REPL (cider-quit)
SPC m s r
send and eval region in REPL
SPC m s R
send and eval region and switch to REPL in insert state
SPC m s s
switch to REPL
Tests
Key Binding
Description
SPC m t a
run all tests in namespace
SPC m t r
re-run test failures for namespace
SPC m t t
run test at point
Toggles
Key Binding
Description
SPC m T f
toggle REPL font-locking
SPC m T p
toggle REPL pretty-printing
SPC m T i
toggle indentation style
Debugging
Key Binding
Description
SPC m d r
reload namepspaces
SPC m d b
instrument expression at point
SPC m d e
display last stacktrace
SPC m d i
inspect expression at point
Refactoring
Key Binding
Description
SPC m r ?
describe refactoring
SPC m r a d
add declaration
SPC m r a i
add import to ns
SPC m r a m
add missing libspec
SPC m r a p
add project dependency
SPC m r a r
add require to ns
SPC m r a u
add use to ns
SPC m r c c
cycle coll
SPC m r c i
cycle if
SPC m r c n
clean ns
SPC m r c p
cycle privacy
SPC m r d k
destructure keys
SPC m r e c
extract constant
SPC m r e d
extract definition
SPC m r e f
extract function
SPC m r e l
expand let
SPC m r f u
find usages
SPC m r f e
create fn from example
SPC m r h d
hotload dependency
SPC m r i l
introduce let
SPC m r i s
inline symbol
SPC m r m f
move form
SPC m r m l
move to let
SPC m r p c
project clean
SPC m r p f
promote function
SPC m r r d
remove debug fns
SPC m r r f
rename file
SPC m r r l
remove let
SPC m r r r
remove unused requires
SPC m r r s
rename symbol
SPC m r r u
replace use
SPC m r s n
sort ns
SPC m r s p
sort project dependencies
SPC m r s r
stop referring
SPC m r s c
show changelog
SPC m r t f
thread first all
SPC m r t h
thread
SPC m r t l
thread last all
SPC m r u a
unwind all
SPC m r u p
update project dependencies
SPC m r u w
unwind
Reformatting
Key Binding
Description
SPC m f l
realign current form
SPC m f b
reformat current buffer
CIDER Buffers
In general, q should always quit the popped up buffer.
stacktrace-mode
Key Binding
Description
C-j
next cause
C-k
previous cause
TAB
cycle current cause
0
cycle all causes
1
cycle cause 1
2
cycle cause 2
3
cycle cause 3
4
cycle cause 4
5
cycle cause 5
a
toggle all
c
toggle clj
d
toggle duplicates
J
toggle java
r
toggle repl
T
toggle tooling
inspector-mode
Key Binding
Description
TAB
next inspectable object
Shift-TAB
previous inspectable object
RET
inspect object
L
pop to the parent object
n
next page in paginated view
N
previous page in paginated view
r
refresh
s
set a new page size
test-report-mode
Key Binding
Description
C-j
next result
C-k
previous result
RET
jump to test
d
ediff test result
e
show stacktrace
r
rerun tests
t
run test
T
run tests
Development Notes
Indentation
With a new functionality of Cider to read the custom indentation rules from the
var’s metadata, it is better for consistency reasons to not add the custom
indentation rules to Spacemacs, but to add them to the metadata of those
specific vars.