Function: treemacs-icon-for-dir

treemacs-icon-for-dir is a byte-compiled function defined in treemacs-icons.el.

Signature

(treemacs-icon-for-dir DIR STATE)

Documentation

Retrieve an icon for DIR from treemacs-icons in given STATE.

STATE must be either open or closed.

Works only with directories, not files. Uses the dir-open and dir-closed icons as fallback.

Source Code

;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-icons.el
(define-inline treemacs-icon-for-dir (dir state)
  "Retrieve an icon for DIR from `treemacs-icons' in given STATE.
STATE must be either `open' or `closed'.

Works only with directories, not files.
Uses the `dir-open' and `dir-closed' icons as fallback."
  (declare (side-effect-free t))
  (inline-letevals (dir state)
    (inline-quote
     (let ((name-downcased (-> ,dir (treemacs--filename) (downcase))))
       (when (eq ?. (aref name-downcased 0))
         (setf name-downcased (substring name-downcased 1)))
       (pcase-exhaustive ,state
         (`open
          (let ((name (format "%s-%s" name-downcased "open")))
            (or (ht-get treemacs-icons name)
                (ht-get treemacs-icons 'dir-open))))
         (`closed
          (let ((name (format "%s-%s" name-downcased "closed")))
            (or (ht-get treemacs-icons name)
                (ht-get treemacs-icons 'dir-closed)))))))))