aboutsummaryrefslogtreecommitdiff
path: root/modules/vc-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-03 18:01:24 -0600
committerCraig Jennings <c@cjennings.net>2025-11-03 18:01:24 -0600
commita134f758be271e7b762278258a0d65ce71a0cd63 (patch)
treeea4c7acfcf66ea29cd01af039fd709c18fd75252 /modules/vc-config.el
parent346d23e7cf81fcb0d21403ba1ae6b000fcb601e9 (diff)
downloaddotemacs-a134f758be271e7b762278258a0d65ce71a0cd63.tar.gz
dotemacs-a134f758be271e7b762278258a0d65ce71a0cd63.zip
feat: Complete modeline overhaul with custom segments and interactive features
Replaced mood-line with a custom, minimal modeline using only built-in Emacs functionality to avoid native compilation issues. **Architecture:** - Named segment system using defvar-local for easy reordering - Emacs 30 built-in right-alignment (mode-line-format-right-align) - All segments marked as risky-local-variable for proper evaluation **Features:** - Color-coded buffer names (green=writeable, red=read-only, gold=overwrite) - VC branch with git symbol (U+E0A0) and state-based coloring - Position format: L:line C:col - Help-echo tooltips on all segments - Mouse click handlers for interactive actions - String truncation in narrow windows (< 100 chars) - Active-window-only display for branch and misc-info **Interactive Actions:** - Buffer name: mouse-1 = prev-buffer, mouse-3 = next-buffer - Major mode: mouse-1 = describe-mode - Git branch: mouse-1 = vc-diff, mouse-3 = vc-root-diff **Bug Fixes:** - Disabled async native compilation to prevent "Selecting deleted buffer" errors - Fixed difftastic loading by changing :demand to :defer - Abstracted buffer status colors to user-constants.el for reuse Inspired by Prot's modeline design patterns.
Diffstat (limited to 'modules/vc-config.el')
-rw-r--r--modules/vc-config.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/vc-config.el b/modules/vc-config.el
index b9b61c292..141f6e17e 100644
--- a/modules/vc-config.el
+++ b/modules/vc-config.el
@@ -125,10 +125,11 @@ interactive selection to jump to any changed line in the buffer."
;; -------------------------------- Difftastic ---------------------------------
;; Structural diffs for better git change visualization
+;; Requires: difft binary (installed via pacman -S difftastic)
(use-package difftastic
- :demand t
- :after magit
+ :defer t
+ :commands (difftastic-magit-diff difftastic-magit-show)
:bind (:map magit-blame-read-only-mode-map
("D" . difftastic-magit-show)
("S" . difftastic-magit-show))