Function: doom-modeline-icon

doom-modeline-icon is a natively compiled function defined in doom-modeline-core.el.

Signature

(doom-modeline-icon ICON-SET ICON-NAME UNICODE TEXT &rest ARGS)

Documentation

Display icon of ICON-NAME with ARGS in mode-line.

ICON-SET includes ipsicon, octicon, pomicon, powerline, faicon, wicon, sucicon, devicon, codicon, flicon and mdicon, etc. UNICODE is the unicode char fallback. TEXT is the ASCII char fallback. ARGS is same as nerd-icons-octicon and others.

Source Code

;; Defined in /nix/store/1lcicrdd2r4b8rkc91nnn74ymk1jl6yd-emacs-packages-deps/share/emacs/site-lisp/elpa/doom-modeline-20260928.1632/doom-modeline-core.el
(defun doom-modeline-icon (icon-set icon-name unicode text &rest args)
  "Display icon of ICON-NAME with ARGS in mode-line.

ICON-SET includes `ipsicon', `octicon', `pomicon', `powerline', `faicon',
`wicon', `sucicon', `devicon', `codicon', `flicon' and `mdicon', etc.
UNICODE is the unicode char fallback.  TEXT is the ASCII char fallback.
ARGS is same as `nerd-icons-octicon' and others."
  (let ((face `(:inherit (doom-modeline
                          ,(or (plist-get args :face) 'mode-line)))))
    (cond
     ;; Icon
     ((and doom-modeline-icon
           icon-name
           (not (string-empty-p icon-name)))
      (let* ((func (nerd-icons--function-name icon-set))
             (icon (and (fboundp func) (apply func icon-name args))))
        (doom-modeline-propertize-icon icon face)))
     ;; Unicode fallback
     ((and doom-modeline-unicode-fallback
           unicode
           (not (string-empty-p unicode))
           (char-displayable-p (string-to-char unicode)))
      (doom-modeline-propertize-text unicode face))
     ;; ASCII text
     (text
      (doom-modeline-propertize-text text face))
     ;; Fallback
     (t ""))))