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:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Dependencies" "^\\s-*(require[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Inline Functions" "^\\s-*(\\(?:cl-\\)?\\(?:def\\(?:ine-inline\\|subst\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Customizations" "^\\s-*(defcustom[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Types" "\\(?1:\\(?:cl-\\)?defstruct[[:space:]]+\\(?:([[:space:]]*\\)?\\)\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Types" "^\\s-*(\\(?1:\\(?:cl-\\)?defstruct\\(?: (\\)?\\|defclass\\|deftype\\|defgroup\\|define-widget\\|deferror\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Variables" "^\\s-*(\\(?:def\\(?:const\\(?:-mode-local\\)?\\|var\\(?:-local\\)?\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Macros" "^\\s-*(\\(?:cl-\\)?\\(?:def\\(?:\\(?:ine-compiler-\\)?macro\\)\\)[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\s_\\)+\\_>\\)" 2)
 ("Faces" "^\\s-*(defface[[:space:]]+'?\\(?2:\\_<\\(?:\\sw\\|\\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)