diff options
author | expez <expez@expez.com> | 2013-12-23 13:47:07 +0100 |
---|---|---|
committer | expez <expez@expez.com> | 2013-12-23 13:47:07 +0100 |
commit | e74eddea6e6b1a3a6ecde2e5be191fd7d54d017f (patch) | |
tree | 019fd9923a388cefd25aa8124228e85c89360feb | |
parent | b49fc32ee176c258f395e67ff8c0eb3a74b50c32 (diff) |
Make change-line work like kill-line
Before, pressing C, in this context would give us an error:
(progn
(foo)
|(bar (baz)))
Now (bar (baz)) is killed and we get
(progn
(foo)
|)
-rw-r--r-- | evil-paredit.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/evil-paredit.el b/evil-paredit.el index d78d9a0..deb01ff 100644 --- a/evil-paredit.el +++ b/evil-paredit.el @@ -154,7 +154,13 @@ of the block." "Change to end of line respecting parenthesis." :motion evil-end-of-line (interactive "<R><x><y>") - (evil-paredit-change beg end type register yank-handler)) + (let ((paren-count (count-matches "(" (line-beginning-position) + (line-end-position))) + (last-balanced-paren (evil-paredit-position-of + "\)" + (line-beginning-position) + (line-end-position)))) + (evil-paredit-change beg last-balanced-paren type register yank-handler))) (evil-define-key 'normal evil-paredit-mode-map (kbd "d") 'evil-paredit-delete |