diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-03 18:01:24 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-03 18:01:24 -0600 |
| commit | c0c4b176ace7910cbc1a71b5ec473873b6d821be (patch) | |
| tree | bbd78f1449630a9a6a5db8ad025205df5dc824a9 /modules/vc-config.el | |
| parent | 9e75fea0cf16c72dfd490b0dcb726e6c7bd023bb (diff) | |
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.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'modules/vc-config.el')
| -rw-r--r-- | modules/vc-config.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/vc-config.el b/modules/vc-config.el index b9b61c29..141f6e17 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)) |
