Variable: treemacs-elisp-imenu-expression
treemacs-elisp-imenu-expression is a customizable variable defined in
treemacs-customization.el.
Value
(("Functions"
"^\\s-*(\\(?:cl-\\)?\\(?:def\\(?:advice\\|generic\\|method\\|un\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Dependencies"
"^\\s-*(require[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)" 2)
("Inline Functions"
"^\\s-*(\\(?:cl-\\)?\\(?:def\\(?:ine-inline\\|subst\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Customizations"
"^\\s-*(defcustom[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Types"
"\\(?1:\\(?:cl-\\)?defstruct[[:space:]]+\\(?:([[:space:]]*\\)?\\)\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Types"
"^\\s-*(\\(?1:\\(?:cl-\\)?defstruct\\(?: (\\)?\\|defclass\\|deftype\\|defgroup\\|define-widget\\|deferror\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Variables"
"^\\s-*(\\(?:def\\(?:const\\(?:-mode-local\\)?\\|var\\(?:-local\\)?\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Macros"
"^\\s-*(\\(?:cl-\\)?\\(?:def\\(?:\\(?:ine-compiler-\\)?macro\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)"
2)
("Faces"
"^\\s-*(defface[[:space:]]+'?\\(?2:\\_<\\(?:\\w\\|\\s_\\)+\\_>\\)" 2))
Documentation
The value for imenu-generic-expression treemacs uses in elisp buffers.
More discriminating than the default as it distinguishes between functions, inline functions, macros, faces, variables, customisations and types.
Can be set to nil to use the default value.
Source Code
;; Defined in ~/.emacs.d/elpa/treemacs-20251226.1307/treemacs-customization.el
(defcustom treemacs-elisp-imenu-expression
(let ((name (rx (1+ whitespace) (? "'") (group-n 2 symbol-start (1+ (or (syntax word) (syntax symbol))) symbol-end)))
(prefix (rx bol (0+ (syntax whitespace)) "(")))
`(("Functions"
,(concat prefix (rx (? "cl-") (or "defgeneric" "defmethod" "defun" "defadvice")) name)
2)
("Dependencies"
,(concat prefix "require" name)
2)
("Inline Functions"
,(concat prefix (rx (? "cl-") (or "defsubst" "define-inline")) name)
2)
("Customizations"
,(concat prefix "defcustom" name)
2)
;; struct whose name maybe be wrapped in parens
("Types" ,(rx (group-n 1 (? "cl-") "defstruct" (1+ whitespace) (? "(" (0+ whitespace)))
(group-n 2 symbol-start (1+ (or (syntax word) (syntax symbol))) symbol-end))
2)
("Types"
,(concat
prefix
(rx (group-n
1 (or (seq (? "cl-") "defstruct" (? " ("))
"defclass"
"deftype"
"defgroup"
"define-widget"
"deferror")))
name)
2)
("Variables"
,(concat prefix (rx (or "defvar" "defvar-local" "defconst" "defconst-mode-local")) name)
2)
("Macros"
,(concat prefix (rx (? "cl-") (or "define-compiler-macro" "defmacro")) name)
2)
("Faces"
,(concat prefix (rx "defface") name)
2)))
"The value for `imenu-generic-expression' treemacs uses in elisp buffers.
More discriminating than the default as it distinguishes between functions,
inline functions, macros, faces, variables, customisations and types.
Can be set to nil to use the default value."
:type 'alist
:group 'treemacs)