This replaces the older pattern :toggle (configuration-layer/package-usedp ..) This implementation ensures that :disabled-for honors dependent packages, i.e. if package a depends on package b, which is owned by layer c, and layer c is disabled for layer d, then neither package a nor b will be configured for layer d. Previously, this was only true for package a, but not b. This commit also fixes: - configuration-layer/describe-package now shows which post-init and pre-init functions are disabled, if any - Does not recreate all layer objects unconditionally when calling configuration-layer/discover-layers. Previously, this led to all layers being recreated after e.g. `SPC h SPC`, without any of the dotfile information. Since this information is now necessary for configuration-layer/describe-package, it’s important that we don’t clear the indexed layers when invoking this function. |
||
---|---|---|
.. | ||
img | ||
config.el | ||
funcs.el | ||
packages.el | ||
README.org |
Common Lisp layer
Description
A Spacemacs contribution layer providing Common Lisp support via SLIME.
Install
If you have previously installed slime in any other way, it is recommended that you uninstall it before proceeding. You should clean up any config files tied to slime that are left behind as well. Linux users can just purge the slime package if it was a distribution install.
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add common-lisp
to the existing dotspacemacs-configuration-layers
list in this
file.
This layer defaults to using sbcl. If you want to use a different implementation
of Common Lisp, you can specify it in your ~/.spacemacs
(defun dotspacemacs/user-config ()
(setq inferior-lisp-program "/path/to/your/lisp"))
Key Bindings
Working with lisp 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
Help
Key Binding | Description |
---|---|
SPC m h a |
SLIME apropos |
SPC m h d |
Disassemble symbol at point |
SPC m h h |
Describe symbol at point |
SPC m h i |
Inspect definition |
SPC m h H |
Hyperspec lookup symbol at point |
SPC m h p |
Browse apropos results for a package's exported symbols |
SPC m h t |
Toggle tracing of the function at point |
SPC m h T |
Untrace all functions |
SPC m h < |
Show all known callers |
SPC m h > |
Show all known callees |
SPC m h m |
Show all usages of a macro |
SPC m h r |
Show references to global variable |
SPC m h s |
Show all methods specialized on a class |
Evaluation
Key Binding | Description |
---|---|
SPC m e b |
Evaluate buffer |
SPC m e e |
Evaluate last sexp |
SPC m e l |
Go to end of line and evaluate last sexp |
SPC m e f |
Evaluate top level sexp |
SPC m e F |
Undefine the function at point |
SPC m e r |
Evaluate region |
REPL
Key Binding | Description |
---|---|
SPC m s i |
Start an inferior process |
SPC m s e |
Evaluate last expression in REPL |
SPC m s q |
Quit |
Compile
Key Binding | Description |
---|---|
SPC m c c |
Compile file |
SPC m c C |
Compile file and load it |
SPC m c l |
Load file |
SPC m c n |
Remove compilation notes |
SPC m c f |
Compile function |
SPC m c r |
Compile region |
Navigation
Key Binding | Description |
---|---|
SPC m g g |
Go to definition |
SPC m g b |
Go back |
SPC m g n |
Next note |
SPC m g N or ~SPC m g p |
Previous note |
Macroexpansion
Key Binding | Description |
---|---|
SPC m m a |
Macroexpand the expression at point completly |
SPC m m o |
Macroexpand the expression at point once |