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-+\\(\\(?:\\sw\\|\\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\\|lobal\\(?:\\(?:ized\\)?-minor\\)\\)-mode\\)\\|inline\\|m\\(?:ethod-combination\\|inor-mode\\|odify-macro\\)\\|s\\(?:etf-expander\\|keleton\\)\\)\\|m\\(?:acro\\|ethod\\)\\|s\\(?:etf\\|ubst\\)\\|un\\*?\\)\\|ert-deftest\\)\\s-+\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)" 2)
 (nil "^\\s-*(\\(def\\(?:\\(?:ine-obsolete-function-\\)?alias\\)\\)\\s-+'\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)" 2)
 ("Variables" "^\\s-*(\\(def\\(?:c\\(?:onst\\(?:ant\\)?\\|ustom\\)\\|ine-symbol-macro\\|parameter\\)\\)\\s-+\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)" 2)
 ("Variables" "^\\s-*(defvar\\(?:-local\\)?\\s-+\\(\\(?:\\sw\\|\\s_\\|\\\\.\\)+\\)[[:space:]\n]+[^)]" 1)
 ("Types" "^\\s-*(\\(cl-def\\(?:struct\\|type\\)\\|def\\(?:class\\|face\\|group\\|ine-\\(?:condition\\|error\\|widget\\)\\|package\\|struct\\|t\\(?:\\(?:hem\\|yp\\)e\\)\\)\\)\\s-+'?\\(\\(?:\\sw\\|\\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
	 (purecopy (concat "^\\s-*("
			   (regexp-opt
			    '("defun" "defmacro"
                              ;; Elisp.
                              "defun*" "defsubst" "define-inline"
			      "define-advice" "defadvice" "define-skeleton"
			      "define-compilation-mode" "define-minor-mode"
			      "define-global-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
	 (purecopy (concat "^\\s-*("
			   (regexp-opt
			    '("defalias" "define-obsolete-function-alias")
                            t)
			   "\\s-+'\\(" (rx lisp-mode-symbol) "\\)"))
	 2)
   (list (purecopy "Variables")
	 (purecopy (concat "^\\s-*("
			   (regexp-opt
			    '(;; Elisp
                              "defconst" "defcustom"
                              ;; CL
                              "defconstant"
			      "defparameter" "define-symbol-macro")
                            t)
			   "\\s-+\\(" (rx lisp-mode-symbol) "\\)"))
	 2)
   ;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
   (list (purecopy "Variables")
	 (purecopy (concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
                           (rx lisp-mode-symbol) "\\)"
			   "[[:space:]\n]+[^)]"))
	 1)
   (list (purecopy "Types")
	 (purecopy (concat "^\\s-*("
			   (regexp-opt
			    '(;; Elisp
                              "defgroup" "deftheme"
                              "define-widget" "define-error"
			      "defface" "cl-deftype" "cl-defstruct"
                              ;; 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'.")