this post was submitted on 23 Oct 2023
1 points (100.0% liked)

Lisp

53 readers
3 users here now

founded 1 year ago
MODERATORS
 

Hi y'all,

I'm experimenting with Readline config (generating completions, setting up keybindings, etc.) for CL REPLs. It's working, with a single exception: completions are split over hyphens, e.g. typing mak, I get make and makunboud as the only completions. Even though there're make-array and make-instance in the completions file. Anyone knows how to allow completing mak to make-array, make-instance and other hyphenated words? Any other gotchas for Lisp-specific Readline setup?

top 4 comments
sorted by: hot top controversial new old
[–] ventuspilot@alien.top 1 points 1 year ago (1 children)

I started with the infos from https://github.com/elahtrebor/RLWRAP-SBCL-LISP-COMPLETIONS and ended up with

alias jm='rlwrap -C jm -i -q'\''"'\'' -b '\''\(\)'\'' -f /mnt/c/robert/jmurmel/murmel.completions -f /mnt/c/robert/jmurmel/mlib.completions java -ea -jar /mnt/c/robert/jmurmel/lambda/target/jmurmel.jar --libdir /mnt/c/robert/jmurmel/samples.mlib'

for running my own Lisp on debian (actually Windows10/wsl/debian). If I enter (remove and hit TAB three times then rlwrap will show me remove and remove-if so maybe that'll help you.

[–] aartaka@alien.top 1 points 1 year ago

Right, I should've looked it up on CLiki πŸ˜…Thanks for these references, you've helped a lot πŸ–€

[–] dzecniv@alien.top 1 points 1 year ago (1 children)

I think -b '()' is enough (word delimiters are parens) but this is more complete:

--break-chars "(){}[],'#\";|\\" 

At that point you might want to try cl-repl?

A summary of options: https://gist.github.com/vindarel/2309154f4e751be389fa99239764c363 Like, use --remember to tab-complete what was previously defined.

[–] aartaka@alien.top 1 points 1 year ago

Right, thanks for the gist!

I'm not yet using cl-repl because I want to have distinct tools composed to a usable whole or at least try to do that before surrendering to complete setups like cl-repl. But thanks for the recommendation anyway!