LightTable/Paredit — pull request #15 by achengs (2014-03-07 02:06:07+00:00)
Title: implement backspace + delete

- prevents you from bringing real code onto the end of a comment
- deletes escaped characters as a whole from their edge or from their middle
- enters pairs () [] {} and strings "" and deletes their guts before deleting the emptied pair
- prevents you from exiting a pair if there's real stuff behind you (foo |)
- allows you to delete an arbitrary selection (doesn't inspect the selection -- you could create an unbalanced pair this way -- could extend to warn if this is the case, depending on what the community thinks is best)
- allows you to delete normally within comments

Example `user.keymap` from berdario:
```
{:+ {:app {}

:editor {"alt-w" [:editor.watch.watch-selection]
"alt-shift-w" [:editor.watch.unwatch]}

:editor.clj.common {"backspace" [:paredit.backspace]
"del" [:paredit.delete]
"alt-s" [:paredit.unwrap.parent]
"alt-shift-s" [:paredit.select.parent]
"esc" [:paredit.select.clear]
"pmeta-right" [:paredit.grow.right]
"pmeta-left" [:paredit.shrink.right]
"pmeta-shift-left" [:paredit.grow.left]
"pmeta-shift-right" [:paredit.shrink.left]
}}

:- {
:editor.keys.normal {"backspace" [:editor.backspace-pair]}}}
```