Stuff left to do
- the multi-leader-key stuff mostly works, but there’s still some weirdness around major-mode specific bindings. See the commented hack to prevent bindings from one mode bleading into buffers of a different mode.
- prefixes that don’t have any assigned bindings in a given mode still show up in which key
- extra multi-leader-key into a plexmacs package
- pull the extra commands into a utility package
- see if the CIDER tweaks can (configurably) make it upstream
- automatically reuse CIDER buffers (should also go upstream?)
- add support for a user config file, so more personal tweaks like the font and theme can be split out
CIDER stuff
- eval insert pretty print should insert at point
Issues
- company mode behaves differently than in spacemacs, making the autocompletion a lot less pleasant to work with. Figure out how to fix that
- multi-leader-mode is not enabled by default in Messages, possibly because the buffer already exists when it gets loaded
- smartparens/evil-cleverparens are currently only enabled in Clojure and Emacs
Lisp buffers, which is annoying e.g. when navigating Java (I keep trying to
copy identifiers with
yL
, butL
navigates to end of buffer instead of to next form). Should this be enabled in allprog-mode
buffers?
Stuff still worth considering adding
- auto-highlight-symbol -> main thing I use this for in spacemacs is navigating with # and *
- org-mode -> kind of obvious
- make sure eval of clojure code blocks works
- magit -> I don’t really use it much, but just improved commit message buffer bindings would be great, and if this is going to be a proper “distro” it should be in there.
- JS/python -> I don’t want support for every language, but these two are so dominant they should be supported out of the box
- HTML/CSS -> the web, yo!
- Markdown mode -> make sure code block handling works properly
With the above things added we’re not that lightweight anymore, so spend some time tweaking the use-package declarations so more things are loaded on demand.
More far fetched ideas
- Start a babashka nrepl instance on startup, and have
*scratch*
start in clojure-mode, with eval going to babashka, so it’s always possible to eval clojure forms. - When trying to eval in a clojure buffer that does not have a connection,
instead of silently doing nothing, give the user options
- jack-in
- sesman-link the buffer to the babashka connection
- sesman-link to another existing connection
- cider-connect
https://github.com/kommen/corgi/commits/main
- evil-escape (fd)
- magit / evil-magit -> fix TAB
- desktop-save-mode causes pain (saves theme information?)
- theme -> likes dracula or eigengrau (jack’s theme)
- navigating auto complete buffers down with CTRL-j
- SPC j i for navigating to functions within a buffer (helm-jump-in-buffer)
- SPC g l l to open a browser to github for the line the cursor is on (git-link)
- Updating corgi / individual corgi packages / overriding package versions
https://github.com/CyberShadow/term-keys
- Look into terminal key bindings
https://emacs.stackexchange.com/a/13957/18276
view-lossage to test
iTerm(2) gnome-terminal / konsole cmd.exe ? https://github.com/CyberShadow/term-keys