Make evil-delete invoke wgrep-mark-deletion on lines
This commit is contained in:
parent
54383a8dde
commit
8648ea0314
2 changed files with 23 additions and 1 deletions
|
@ -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))))
|
||||
|
|
|
@ -87,7 +87,12 @@
|
|||
;; --- keybind fixes ----------------------
|
||||
(map! ;; undo/redo for visual regions
|
||||
:v "C-u" #'undo-tree-undo
|
||||
:v "C-r" #'undo-tree-redo)
|
||||
:v "C-r" #'undo-tree-redo
|
||||
|
||||
(:after wgrep
|
||||
;; a wrapper that invokes `wgrep-mark-deletion' across lines
|
||||
;; you use `evil-delete' on.
|
||||
:map wgrep-mode-map :n "d" #'+evil-delete))
|
||||
|
||||
|
||||
;; --- evil hacks -------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue