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)
 ("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-*("
			   (eval-when-compile
			     (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-+\\(" lisp-mode-symbol-regexp "\\)"))
	 2)
   (list (purecopy "Variables")
	 (purecopy (concat "^\\s-*("
			   (eval-when-compile
			     (regexp-opt
			      '(;; Elisp
                                "defconst" "defcustom"
                                ;; CL
                                "defconstant"
				"defparameter" "define-symbol-macro")
                              t))
			   "\\s-+\\(" lisp-mode-symbol-regexp "\\)"))
	 2)
   ;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
   (list (purecopy "Variables")
	 (purecopy (concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
                           lisp-mode-symbol-regexp "\\)"
			   "[[:space:]\n]+[^)]"))
	 1)
   (list (purecopy "Types")
	 (purecopy (concat "^\\s-*("
			   (eval-when-compile
			     (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-+'?\\(" lisp-mode-symbol-regexp "\\)"))
	 2))

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