Hi Bastien,

> One early neatpick: the name "lispy" does not help understanding
> what the package is really about.  But maybe the package does a
> lot and it's difficult to capture all what it does in a name.

The package provides a key binding method that can work effectively
only for a Lisp-like language: Elisp, Scheme, Common Lisp and Clojure
all fit here.
The gist is that e.g. "j" will not self-insert when positioned at open
paren or after closing paren, but will instead move downwards list.

On top of that I've tacked on:

- my own type of Paredit: most functions are called from either
  side of the list and the result depends on the side.

- region manipulation based on sexps,
  e.g. "j" will extend/shrink region by a sexp forwards and "k" backwards.

- outline-minor-mode bindings
  `lispy-shifttab` ("I") actually uses `org-overview` and `org-cycle`.

- IDE-like features (eval, eval-and-insert, inline doc, arglist,
  jump-to-tag and follow-to-definition)

- some refactoring support (defun-to-lambda, lambda-to-defun, inline-function,
  cond-to-ifs, ifs-to-cond, sexp-to-oneline, sexp-to-multiline,

  I'm especially proud of the cond-to-ifs / ifs-to-cond stuff, because they
  (in theory and once properly debugged) preserve whitespace and comments
  and are invertible.

- misc stuff (bindings for edebug, multiple cursors, ediff-sexps)

  I'm quite fond of `lispy-ediff-regions` as well. Try it if you like

So it's a bunch of stuff, all of it Lisp-related, hence "lispy".

Btw, here's the new documentation: http://abo-abo.github.io/lispy/.
It's generated with org-mode export of this file:

Actually, I have a few questions on the org to HTML export of this document:

How do I make HTML links that refer to heading, e.g.
not http://abo-abo.github.io/lispy/#sec-3-1,
but http://abo-abo.github.io/lispy/#lispy-forward?

And is there a good method to put babel source blocks into a HTML table?
I'm just using #+HTML: at the moment and it's pretty ugly.


Reply via email to