Variable: lisp-imenu-generic-expression

lisp-imenu-generic-expression is a variable defined in lisp-mode.el.gz.

Value

((nil
  "^\\s-*(\\(transient-define-\\(?:argument\\|\\(?:in\\|pre\\|suf\\)fix\\)\\)\\s-+\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)"
  2)
 (nil
  "^\\s-*(\\(cl-def\\(?:generic\\|ine-compiler-macro\\|m\\(?:acro\\|ethod\\)\\|subst\\|un\\)\\|def\\(?:advice\\|generic\\|ine-\\(?:advice\\|compil\\(?:ation-mode\\|er-macro\\)\\|derived-mode\\|g\\(?:\\(?:eneric\\|lobalized-minor\\)-mode\\)\\|inline\\|m\\(?:ethod-combination\\|inor-mode\\|odify-macro\\)\\|s\\(?:etf-expander\\|keleton\\)\\)\\|m\\(?:acro\\|ethod\\)\\|s\\(?:etf\\|ubst\\)\\|un\\*?\\)\\|ert-deftest\\)\\s-+\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)"
  2)
 (nil
  "^\\s-*(\\(def\\(?:\\(?:ine-obsolete-function-\\)?alias\\)\\)\\s-+'\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)"
  2)
 ("Variables"
  "^\\s-*(\\(def\\(?:c\\(?:onst\\(?:ant\\)?\\|ustom\\)\\|ine-symbol-macro\\|parameter\\|var-keymap\\)\\)\\s-+\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)"
  2)
 ("Variables"
  "^\\s-*(defvar\\(?:-local\\)?\\s-+\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)[[:space:]\n]+[^)]"
  1)
 ("Types"
  "^\\s-*(\\(cl-def\\(?:struct\\|type\\)\\|def\\(?:class\\|face\\|group\\|ine-\\(?:condition\\|error\\|widget\\)\\|package\\|struct\\|t\\(?:\\(?:hem\\|yp\\)e\\)\\)\\|oclosure-define\\)\\s-+'?\\(\\(?:\\w\\|\\s_\\|\\\\.\\)+\\)"
  2))

Documentation

Imenu generic expression for Lisp mode. See imenu-generic-expression.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/lisp-mode.el.gz
(defvar lisp-imenu-generic-expression
  (list
   (list nil
         (concat "^\\s-*("
                 (regexp-opt
                  '("defun" "defmacro"
                    ;; Elisp.
                    "defun*" "defsubst" "define-inline"
                    "define-advice" "defadvice" "define-skeleton"
                    "define-compilation-mode" "define-minor-mode"
                    "define-globalized-minor-mode"
                    "define-derived-mode" "define-generic-mode"
                    "ert-deftest"
                    "cl-defun" "cl-defsubst" "cl-defmacro"
                    "cl-define-compiler-macro" "cl-defgeneric"
                    "cl-defmethod"
                    ;; CL.
                    "define-compiler-macro" "define-modify-macro"
                    "defsetf" "define-setf-expander"
                    "define-method-combination"
                    ;; CLOS and EIEIO
                    "defgeneric" "defmethod")
                  t)
                 "\\s-+\\(" (rx lisp-mode-symbol) "\\)")
	 2)
   ;; Like the previous, but uses a quoted symbol as the name.
   (list nil
         (concat "^\\s-*("
                 (regexp-opt
                  '("defalias" "define-obsolete-function-alias")
                  t)
                 "\\s-+'\\(" (rx lisp-mode-symbol) "\\)")
	 2)
   (list "Variables"
         (concat "^\\s-*("
                 (regexp-opt
                  '(;; Elisp
                    "defconst" "defcustom" "defvar-keymap"
                    ;; CL
                    "defconstant"
                    "defparameter" "define-symbol-macro")
                  t)
                 "\\s-+\\(" (rx lisp-mode-symbol) "\\)")
	 2)
   ;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
   (list "Variables"
         (concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
                 (rx lisp-mode-symbol) "\\)"
                 "[[:space:]\n]+[^)]")
	 1)
   (list "Types"
         (concat "^\\s-*("
                 (regexp-opt
                  '(;; Elisp
                    "defgroup" "deftheme"
                    "define-widget" "define-error"
                    "defface" "cl-deftype" "cl-defstruct" "oclosure-define"
                    ;; CL
                    "deftype" "defstruct"
                    "define-condition" "defpackage"
                    ;; CLOS and EIEIO
                    "defclass")
                  t)
                 "\\s-+'?\\(" (rx lisp-mode-symbol) "\\)")
	 2))

  "Imenu generic expression for Lisp mode.  See `imenu-generic-expression'.")