[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Screencast of lispy.el with org-mode code base
From: |
Oleh |
Subject: |
Re: [O] Screencast of lispy.el with org-mode code base |
Date: |
Tue, 4 Mar 2014 12:46:42 +0100 |
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,
string-to-oneline)
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
`ediff-regions-linewise`.
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:
https://raw.github.com/abo-abo/lispy/gh-pages/index.org.
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.
regards,
Oleh