show下你们的modeline

曾经在另一个帖子发过,现在的代码稍有改动,都可以参考下:

(defun my/update-modeline-box (&rest _)
  (unless (minibufferp)
    (when (eq (window-buffer (selected-window)) (current-buffer))
      (let* ((face (cond
                    ((evil-normal-state-p) 'doom-modeline-evil-normal-state)
                    ((evil-emacs-state-p) 'doom-modeline-evil-emacs-state)
                    ((evil-insert-state-p) 'doom-modeline-evil-insert-state)
                    ((evil-motion-state-p) 'doom-modeline-evil-motion-state)
                    ((evil-visual-state-p) 'doom-modeline-evil-visual-state)
                    ((evil-operator-state-p) 'doom-modeline-evil-operator-state)
                    ((evil-replace-state-p) 'doom-modeline-evil-replace-state)
                    (t 'doom-modeline-evil-user-state)))
             (color (or (face-foreground face nil t) (face-foreground 'default))))
        (set-face-attribute 'mode-line-active nil :box `(:line-width (-1 . -2) :color ,color))))))
(define-advice redisplay--pre-redisplay-functions
    (:around (orig arg) update-modeline-box)
  (funcall orig arg)
  (my/update-modeline-box))
(set-face-attribute 'mode-line-inactive nil :box `(:line-width (-1 . -2) :color ,(face-foreground 'vertical-border)))