Function: doom-modeline--evil

doom-modeline--evil is a byte-compiled function defined in doom-modeline-segments.el.

Signature

(doom-modeline--evil)

Documentation

The current evil state. Requires evil-mode to be enabled.

Source Code

;; Defined in /nix/store/1lcicrdd2r4b8rkc91nnn74ymk1jl6yd-emacs-packages-deps/share/emacs/site-lisp/elpa/doom-modeline-20260928.1632/doom-modeline-segments.el
(defsubst doom-modeline--evil ()
  "The current evil state. Requires `evil-mode' to be enabled."
  (when (bound-and-true-p evil-local-mode)
    (let-alist (cond
                ((evil-normal-state-p)   '((face    . doom-modeline-evil-normal-state)
                                           (icon    . "nf-md-alpha_n_circle")
                                           (unicode . "🅝")))
                ((evil-emacs-state-p)    '((face    . doom-modeline-evil-emacs-state)
                                           (icon    . "nf-md-alpha_e_circle")
                                           (unicode . "🅔")))
                ((evil-insert-state-p)   '((face    . doom-modeline-evil-insert-state)
                                           (icon    . "nf-md-alpha_i_circle")
                                           (unicode . "🅘")))
                ((evil-motion-state-p)   '((face    . doom-modeline-evil-motion-state)
                                           (icon    . "nf-md-alpha_m_circle")
                                           (unicode . "🅜")))
                ((evil-visual-state-p)   '((face    . doom-modeline-evil-visual-state)
                                           (icon    . "nf-md-alpha_v_circle")
                                           (unicode . "🅥")))
                ((evil-operator-state-p) '((face    . doom-modeline-evil-operator-state)
                                           (icon    . "nf-md-alpha_o_circle")
                                           (unicode . "🅞")))
                ((evil-replace-state-p)  '((face    . doom-modeline-evil-replace-state)
                                           (icon    . "nf-md-alpha_r_circle")
                                           (unicode . "🅡")))
                (t                       '((face    . doom-modeline-evil-user-state)
                                           (icon    . "nf-md-alpha_u_circle")
                                           (unicode . "🅤"))))
      (doom-modeline--modal-icon
       ;; Users can set `evil-xxx-state-tag'
       (let ((tag (evil-state-property evil-state :tag t)))
         (if (stringp tag) tag (funcall tag)))
       .face
       (evil-state-property evil-state :name t)
       .icon
       .unicode))))