aboutsummaryrefslogtreecommitdiff
path: root/bard-elisp/bard-modeline.el
diff options
context:
space:
mode:
authorBardofSprites <[email protected]>2025-08-31 21:43:20 -0400
committerBardofSprites <[email protected]>2025-08-31 21:43:20 -0400
commitf8ee1ceaf39dd6235b7294575c60608ed74602f2 (patch)
tree03d80f7d246a424db7e41cef7139225964caa2ab /bard-elisp/bard-modeline.el
parenta518b23058426f9936ac08b36f06065408249b34 (diff)
update evil mode
Diffstat (limited to 'bard-elisp/bard-modeline.el')
-rw-r--r--bard-elisp/bard-modeline.el19
1 files changed, 17 insertions, 2 deletions
diff --git a/bard-elisp/bard-modeline.el b/bard-elisp/bard-modeline.el
index ceb7fbf..dd6a3d0 100644
--- a/bard-elisp/bard-modeline.el
+++ b/bard-elisp/bard-modeline.el
@@ -542,6 +542,22 @@ Specific to the current window's mode line.")
"The equivalent of `notmuch-indicator-mode-line-construct'.
Display the indicator only on the focused window's mode line.")
+(defvar-local bard-evil-state-indicator
+ '(:eval
+ (when (and (bound-and-true-p evil-local-mode)
+ (mode-line-window-selected-p))
+ (let ((state-label
+ (pcase evil-state
+ ('normal (propertize " <N>" 'face 'prot-modeline-indicator-green))
+ ('insert (propertize " <I> " 'face 'prot-modeline-indicator-blue))
+ ('visual (propertize " <V> " 'face 'prot-modeline-indicator-yellow))
+ ('replace (propertize " <R> " 'face 'prot-modeline-indicator-red))
+ ('emacs (propertize " <E> " 'face 'prot-modeline-indicator-magenta))
+ ('motion (propertize " <V> " 'face 'prot-modeline-indicator-cyan))
+ (_ (propertize " <> " 'face 'shadow)))))
+ state-label)))
+ "Modeline indicator for current Evil state.")
+
;;;; Miscellaneous
(defvar-local prot-modeline-misc-info
@@ -558,8 +574,7 @@ Specific to the current window's mode line.")
(dolist (construct '(prot-modeline-kbd-macro
prot-modeline-narrow
bard-modeline-centered-cursor
- bard-modeline-ryo-modal-insert
- bard-modeline-ryo-modal-normal
+ bard-evil-state-indicator
prot-modeline-input-method
prot-modeline-buffer-status
prot-modeline-window-dedicated-status