summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexpez <expez@expez.com>2013-12-23 13:47:07 +0100
committerexpez <expez@expez.com>2013-12-23 13:47:07 +0100
commite74eddea6e6b1a3a6ecde2e5be191fd7d54d017f (patch)
tree019fd9923a388cefd25aa8124228e85c89360feb
parentb49fc32ee176c258f395e67ff8c0eb3a74b50c32 (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.el8
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