aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-26 05:15:44 -0400
committerCraig Jennings <c@cjennings.net>2026-06-26 05:15:44 -0400
commit108512df855a83cb98f330ee6cf6f22168c0d76d (patch)
tree294d6085bc8ae4b236abec96a3ad2cefa7df9d76 /modules
parenteb4aa232836f069ca671c6651a0e2f5dff4f7c34 (diff)
downloaddotemacs-108512df855a83cb98f330ee6cf6f22168c0d76d.tar.gz
dotemacs-108512df855a83cb98f330ee6cf6f22168c0d76d.zip
chore(ibuffer): put diff on d and delete on D
In the ibuffer buffer list, d now diffs the buffer at point against its saved file (ibuffer-diff-with-file, was on =) and D marks it for deletion (was on d; x still executes the marks).
Diffstat (limited to 'modules')
-rw-r--r--modules/system-utils.el10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/system-utils.el b/modules/system-utils.el
index c76193a71..00be88906 100644
--- a/modules/system-utils.el
+++ b/modules/system-utils.el
@@ -147,6 +147,16 @@ detached from Emacs."
;; in `nerd-icons-config'.
(keymap-global-set "<remap> <list-buffers>" #'ibuffer)
+;; Swap delete and diff in the ibuffer list: d diffs the buffer at point against
+;; its saved file (was on =), and D marks it for deletion (was on d; `x' still
+;; executes the marks).
+(defvar ibuffer-mode-map)
+(declare-function ibuffer-diff-with-file "ibuffer")
+(declare-function ibuffer-mark-for-delete "ibuffer")
+(with-eval-after-load 'ibuffer
+ (keymap-set ibuffer-mode-map "d" #'ibuffer-diff-with-file)
+ (keymap-set ibuffer-mode-map "D" #'ibuffer-mark-for-delete))
+
;;; -------------------------- Scratch Buffer Happiness -------------------------
(defvar scratch-emacs-version-and-system