aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-general.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-25 01:19:28 -0400
committerCraig Jennings <c@cjennings.net>2026-06-25 01:19:28 -0400
commitbd1ca4cc2297d0385f056ef40d894786136407bb (patch)
tree0d9f8b9bcd1bdb36812428573db9b1df19ffb6ed /modules/prog-general.el
parent603945502dc1b46b6eb4dc9044097a6f796d9490 (diff)
downloaddotemacs-bd1ca4cc2297d0385f056ef40d894786136407bb.tar.gz
dotemacs-bd1ca4cc2297d0385f056ef40d894786136407bb.zip
feat: add avy (in-buffer jump) and wgrep (editable grep)
The two clear wins from the package-list review. avy fills the in-buffer motion gap (C-: jump-to-char-timer, M-g w/l for word/line) that windmove and isearch leave open; wgrep turns a consult-grep / embark-export result into an editable, write-back-across-files refactor (C-c C-p to edit, C-c C-c to apply).
Diffstat (limited to 'modules/prog-general.el')
-rw-r--r--modules/prog-general.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/prog-general.el b/modules/prog-general.el
index 99b3cbfab..8e317413c 100644
--- a/modules/prog-general.el
+++ b/modules/prog-general.el
@@ -290,6 +290,16 @@ seeded by `cj/deadgrep--initial-term'. Shared tail of the deadgrep commands."
(with-eval-after-load 'dired
(keymap-set dired-mode-map "G" #'cj/deadgrep-here))
+;; ------------------------------------ wgrep ----------------------------------
+;; Make a grep buffer editable, then write the edits back across files -- turns
+;; a consult-grep / embark-export result into a project-wide find-and-replace.
+;; In a grep buffer: C-c C-p to start editing, C-c C-c to apply.
+
+(use-package wgrep
+ :custom
+ (wgrep-auto-save-buffer t) ;; save the touched files when applying
+ (wgrep-change-readonly-file t)) ;; let edits flow into read-only buffers
+
;; ---------------------------------- Snippets ---------------------------------
;; reusable code and text