aboutsummaryrefslogtreecommitdiff
path: root/modules/system-utils.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system-utils.el')
-rw-r--r--modules/system-utils.el18
1 files changed, 17 insertions, 1 deletions
diff --git a/modules/system-utils.el b/modules/system-utils.el
index c76193a71..e779026a0 100644
--- a/modules/system-utils.el
+++ b/modules/system-utils.el
@@ -1,4 +1,4 @@
-;;; system-utils --- System-Wide Utilities -*- lexical-binding: t; coding: utf-8; -*-
+;;; system-utils.el --- System-Wide Utilities -*- lexical-binding: t; coding: utf-8; -*-
;; author Craig Jennings <c@cjennings.net>
;;
;;; Commentary:
@@ -147,6 +147,22 @@ 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))
+
+;; ibuffer paints its rows with manual `face' properties (nerd-icons + ibuffer
+;; faces). Left in `global-font-lock-mode', font-lock leaks keyword fontification
+;; onto buffer and mode names, mixing wrong colors in. Exclude it, the same fix
+;; as the shr-rendered reader modes.
+(cj/exclude-from-global-font-lock 'ibuffer-mode)
+
;;; -------------------------- Scratch Buffer Happiness -------------------------
(defvar scratch-emacs-version-and-system