Make evil-delete invoke wgrep-mark-deletion on lines

This commit is contained in:
Henrik Lissner 2017-05-17 18:24:16 +02:00
parent 54383a8dde
commit 8648ea0314
2 changed files with 23 additions and 1 deletions

View file

@ -222,3 +222,20 @@ evil-window-move-* (e.g. `evil-window-move-far-left')"
(+evil--ex-match-init hl-name)
(let ((result (car-safe (evil-ex-parse-global arg))))
(+evil--ex-buffer-match result hl-name nil (point-min) (point-max))))))
;; --- wgrep ------------------------------
;;;###autoload (autoload '+evil-delete "feature/evil/autoload/evil" nil t)
(evil-define-operator +evil-delete (beg end type register yank-handler)
"A wrapper around `evil-delete' for `wgrep' buffers that will invoke
`wgrep-mark-deletion' on lines you try to delete."
(interactive "<R><x><y>")
(condition-case ex
(evil-delete beg end type register yank-handler)
('text-read-only
(evil-apply-on-block
(lambda (beg _)
(goto-char beg)
(call-interactively #'wgrep-mark-deletion))
beg (1- end) nil))))