Skip to content

Commit 10bdb40

Browse files
committed
Add a shim for grep-edit
grep-edit is a major mode introduced in Emacs 31 which enables the editing of Grep results, by typing 'e' in '*grep*' buffers. 'C-c C-c' exits this mode and saves changes.
1 parent 96fecf5 commit 10bdb40

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

meow-shims.el

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,28 @@ Argument ENABLE non-nil means turn on."
167167
(advice-remove 'wgrep-finish-edit #'meow--switch-to-motion)
168168
(advice-remove 'wgrep-save-all-buffers #'meow--switch-to-motion)))
169169

170+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
171+
;; grep-edit
172+
173+
174+
(defvar meow--grep-edit-setup nil
175+
"Wheter already setup grep-edit.")
176+
177+
(defvar grep-edit-mode-hook)
178+
179+
(declare-function grep-edit-save-changes "grep")
180+
181+
(defun meow--setup-grep-edit (enable)
182+
"Setup grep-edit.
183+
184+
Argument ENABLE non-nil means turn on."
185+
(if enable
186+
(progn
187+
(add-hook 'grep-edit-mode-hook #'meow--switch-to-normal)
188+
(advice-add #'grep-edit-save-changes :after #'meow--switch-to-motion))
189+
(remove-hook 'grep-edit-mode-hook #'meow--switch-to-normal)
190+
(advice-remove 'grep-edit-save-changes #'meow--switch-to-motion)))
191+
170192
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
171193
;; wdired
172194

@@ -545,8 +567,7 @@ Argument ENABLE, non-nil means turn on."
545567
(eval-after-load "edebug" (lambda () (meow--setup-edebug t)))
546568
(eval-after-load "magit" (lambda () (meow--setup-magit t)))
547569
(eval-after-load "wgrep" (lambda () (meow--setup-wgrep t)))
548-
(eval-after-load "company" (lambda () (meow--setup-company t)))
549-
(eval-after-load "corfu" (lambda () (meow--setup-corfu t)))
570+
(eval-after-load "grep" (lambda () (meow--setup-grep-edit t)))
550571
(eval-after-load "polymode" (lambda () (meow--setup-polymode t)))
551572
(eval-after-load "cider" (lambda () (meow--setup-cider t)))
552573
(eval-after-load "sly" (lambda () (meow--setup-sly t)))
@@ -571,6 +592,7 @@ Argument ENABLE, non-nil means turn on."
571592
(when meow--company-setup (meow--setup-company nil))
572593
(when meow--corfu-setup (meow--setup-corfu nil))
573594
(when meow--wgrep-setup (meow--setup-wgrep nil))
595+
(when meow--grep-edit-setup (meow--setup-grep-edit nil))
574596
(when meow--polymode-setup (meow--setup-polymode nil))
575597
(when meow--cider-setup (meow--setup-cider nil))
576598
(when meow--which-key-setup (meow--setup-which-key nil))

0 commit comments

Comments
 (0)