Navigating Clojure Namespacesλ︎
, g n
(cider-find-ns
) lists the namespaces currently loaded into the running REPL. Type a pattern to narrow the list. C-j
and C-k
to navigate the list. RET
to open the namespace in the current buffer.
Namespaces via Projectileλ︎
SPC p f
(helm-projectile-find-file
) is an effective way to switch between files in the project. Helm uses fuzzy matching, so _
characters can be skipped when narrowing the helm list with a pattern, so searching for a file is the same as searching for a namespace.
g g
jumps to the top of the file, which should be near to the location of thens
form
LSP symbols and ns definitionsλ︎
, g s
(helm-lsp-workspace-symbols
) lists all the symbols found in the current project, including ns
, def
and defn
forms.
Type in a pattern to narrow the list. C-j
and C-k
to navigate the list.
RET
to jump to the symbol, opening the relevant namespace in the current buffer.
Browse namespace symbol documentationλ︎
Browse namespace symbols by navigating through the definitions in a namespace (def
, defn
) and view their documentation (doc strings).
, h n
(cider-browse-ns
) lists all namespaces loaded into the REPL in the current project. Namespaces in the project that have not been evaluated, directly or via a require, will not be in the list.
RET
to show the symbols in the namespace
RET
on a namespace symbol to see the documention in a pop-up wondow. Use the link to the source code file in the documentation to open the namespace in the buffer.
REPL buffer cider commandsλ︎
,
in Evil insert mode in the REPL buffer will bring up the REPL command menu
Command | Description |
---|---|
browse-ns |
Browse namespace |
ns |
Switch to namespace (lists known namespaces) |
Using code to change the namespaceλ︎
in-ns
function will set the namespace for the REPL. If that namespace does not exist, then the namespace is created in the current REPL.