This is mainly a shared config for Lisp REPLs.
Clone this repo as ~/.config/common-lisp
. This way the ASDF registry
conf ends up in the proper place too.
git clone --recursive https://github.com/aartaka/lisp-config ~/.config/common-lisp
To propagate the config to all the installed implementation, use
install.lisp
script:
sbcl --script install.lisp
Note that this overwrites implementation-specific init files, so make sure you back them up!
Some readline completions appended from *-completions.txt
, so that
rlwrap --remember -c -b "(){}[],^%$#@\"\";''|\\" ecl
Ends up with nice list of completions.
Also has lots of :around
methods for my Graven Image
standard-enhancing library. Mainly making printouts less overwhelming.
Convenience commands (./commands.lisp)
Command-based editor with mnemonic commands. See ./ed.lisp.
- :edit
- to move to the edited line (integer) start editing
- Form evaluation result,
- Function source,
- File contents,
- Or shell command output.
- :etch
- save the changes.
- :eject and :egress
- to cut and paste respectively. Clipboard is single element for now.
- :eik and :escape
- to edit subform or get back to superform.
- :effuse, :enter, and :erase
- to add new content after, before, or instead the current ones.
- :err
- modify the current form with a function of new content.
- :embrace and :entral
- wrap the current form into parens, or unsplice it into the surrounding content.
- :echo and :eye
- print one line/form or scroll down N lines respectively.
- :eval
- eval the current form of provided argument.
This feeds REPL output and input to EspeakNG to speak the text. The plan is to turn it into a proper screenreader-ish setup. See ./talkative.lisp.
This one is made for Talkative mode convenience, because this format is most discernible when read with eSpeak. See ./prompt.lisp.
See ./documentation.lisp for my custom methods on documentation
, including
- Method with
package
doctype. - Intuitive T doctype method on symbols.
:doc
command printing docs for arbitrary symbol.
See ./reader.lisp:
#?
to print meta information about the symbol after it: documentation, apropos, arglist. Requires Graven Image.#^
as a shortcut for throwaway lambdas. Inspired by typical Lambda Calculus notation:
'#^kv.v ;; => (lambda (&optional k v) v)
#!
for shell. Harder to type than:sh
command, but why not have it anyway?