Paredit emulation in lispy02 Apr 2015
I just finished this feature today. Almost all Paredit functionality is available in terms of
lispy's own functions. The only functions that I didn't
implement were the ones that I didn't find any use for:
paredit-backslash (ugh, prompts),
paredit-comment-dwim (covered by regular ;),
paredit-backward-down (both just move out of special, and throw a lot).
Setting the keymap theme
So if you ever thought that
lispy could be a good idea, but the non-special key bindings are weird,
and you're too used to Paredit, you can now try this setting:
(lispy-set-key-theme '(special paredit c-digits))
Here's the setting that I'm using, since I love
lispy's default bindings:
(lispy-set-key-theme '(oleh special lispy c-digits))
The default setting actually is this one,
lispy-mode-map-oleh is an additional map for use with
my Xmodmap setup:
(lispy-set-key-theme '(special lispy c-digits))
Each item in the list passed to
lispy-set-key-theme designates a keymap to turn on.
So in a non-LISP buffer you could turn on just the special map:
This would mean that zero regular bindings get overridden, but when the point is before or after a
paren, you get the
lispy bindings. Actually, I've just enabled
and it's working great. Unfortunately, I haven't yet figured out how to make a minor mode's keymap
buffer-local. Maybe someone reading has an idea.
I went through all of Paredit tests and made ERT tests out of them, to make sure that the features are actually working. I've recorded a short (<3 minutes) screencast of implementing one of the tests. Have a look, maybe you'll something interesting in my setup. There are two short pauses in the video, that's just me thinking how to write down a function. My ERT and Magit workflows are also shown.
The new key-theme feature is meant to make
lispy super-not-annoying. I think it's useful, since
lispy in Paredit mode was annoying for me, so the opposite has to be true for people that
are used to Paredit. So if you notice a bug, please report it, bug
reports are very important for my non-annoyance agenda.
Finally, if you're super-devoted to Paredit and don't want to drop it, now you can easily have both
paredit-mode on. Just use this setting:
Or this one if you additionally want C-1 to show the inline doc, and C-2 to show the inline args:
(lispy-set-key-theme '(special c-digits))