lispy 0.24.0 is out08 Mar 2015
The last release was a month ago, and there have been 70 commits to
master since then. If you're not familiar with
my intro post for version 0.21.0.
I'll just copy the release notes here,
while adding a few things.
- DEL behaves properly after a string and one space.
- C-k works better for expressions preceded with "#".
- 3 should not add a space when there is one already.
- # will not add a space after a comma.
- C-j works better in comments after a quote.
lispy--eval-elisp-formfirst arg is now named
form. It was impossible to evaluate an unrelated
formvariable with the previous behavior.
- F again works properly when jumping to a jar (e.g. to
defn) from Clojure source.
- C-k won't call
delete-regionin some obscure branches.
- P (
lispy-paste) will add a newline when called from start of line. This way, nP becomes equivalent to c (
lispy-clone). Of course, it's more flexible: you can do e.g. nkP.
- xb (
lispy-bind-variable) now works on regions as well. Use it to bind the current sexp or region as a let-bound variable: it will put you in
iedit. When you're done with
iedit, press M-m (
lispy-mark-symbol) to exit
iedit. If you need to move the let binding around, use a combination of C (
lispy-convolute) and h (
- g will ignore
- M-m works better in unbalanced buffers, which should be an rare thing.
lispy-tag-arity: now g will recognize
- The tag logic was improved to do less parsing.
lispy-outlinewas updated to match the standard
^;;;outline regex. Try pressing I in e.g. org.el, it's quite beautiful.
lispy-evalfunctions will preserve the match data.
- > will delete the extra whitespace while slurping.
undercover/Coveralls test coverage report.
- H (
lispy-ace-symbol-replace) is now a Hydra: type h to delete more, type u to undo.
- Q (
lispy-ace-char) now uses
avyto jump. This change allows to cover this function with a test.
p can now iterate
dolist variables in Elisp.
(defun range (a b) (message "called range") (number-sequence a b)) (dolist |(i (range 1 3)) (message "i=%d" i))
Pressing p with point where
| is, will
This is another step toward
edebug-less debugging, adding to special behavior for
labels. Remember that you can drop out of
edebug with Z (
This function will take the current function arguments that
edebug provides, store them in
top-level, and exit
This is really cool for setting up entry conditions for a function that you want to debug,
or even a function with an empty body that you want to write. Why am I so eager to exit
Because it puts the code in read-only mode, which is quite restrictive.
lispy-helm-columnsis now a list
'(60 80). The first number is the width of the tag name column, the second number is the width of both tag name and tag file. The tag name column is left-aligned, while the file column is right-aligned.
- j and k should now move to outline when at beginning of comment. The previous behavior was to look for the first sexp in the direction. You can still do that with f.
- I (
lispy-shiftab) is now a two-way cycle, instead of three-way, like
org-mode. The contents can be obtained with C-u I or C-u C-TAB.
It seems that
lispy is winding down feature-wise, which is a good
thing, because I'm almost out of keys - there's only Y and
Possible next steps would be to improve the test coverage (currently
48%) and the documentation. Perhaps I'll try to implement some
automation for generating
the function reference, or learn some
texinfo and write an actual manual, see how
ox-texinfo holds up.
I hope that you'll grow to enjoy
lispy as much as I do. Happy hacking!