Variable: cperl--imenu-entries-rx

cperl--imenu-entries-rx is a variable defined in cperl-mode.el.gz.

Value

Large value
(or
 (sequence symbol-start (group-n 1 "package")
	   (1+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 2
	     (or
	      (sequence
	       (1+
		(sequence (opt (regex "[_[:alpha:]][_[:word:]]*"))
			  "::"))
	       (opt (regex "[_[:alpha:]][_[:word:]]*")))
	      (regex "[_[:alpha:]][_[:word:]]*")))
	   (optional
	    (sequence
	     (1+
	      (or (sequence (or space "\n"))
		  (sequence "#" (0+ (not (in "\n"))) "\n")))
	     (regexp
	      "\\(?:v?\\(?:[[:digit:]]+\\.\\)\\{2,\\}[[:digit:]]+\\(?:_[[:word:]]+\\)?\\|[[:digit:]]+\\(?:\\.[[:digit:]]+\\)?\\(?:_[[:word:]]+\\)?\\)")))
	   (0+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 3 (or ";" "{")))
 (sequence (or space line-start) (group-n 1 "class")
	   (1+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 2
	     (or
	      (sequence
	       (1+
		(sequence (opt (regex "[_[:alpha:]][_[:word:]]*"))
			  "::"))
	       (opt (regex "[_[:alpha:]][_[:word:]]*")))
	      (regex "[_[:alpha:]][_[:word:]]*")))
	   (optional
	    (sequence
	     (1+
	      (or (sequence (or space "\n"))
		  (sequence "#" (0+ (not (in "\n"))) "\n")))
	     (regexp
	      "\\(?:v?\\(?:[[:digit:]]+\\.\\)\\{2,\\}[[:digit:]]+\\(?:_[[:word:]]+\\)?\\|[[:digit:]]+\\(?:\\.[[:digit:]]+\\)?\\(?:_[[:word:]]+\\)?\\)")))
	   (optional
	    (sequence
	     (0+
	      (or (sequence (or space "\n"))
		  (sequence "#" (0+ (not (in "\n"))) "\n")))
	     (sequence ":"
		       (optional
			(0+
			 (or (sequence (or space "\n"))
			     (sequence "#" (0+ (not (in "\n"))) "\n")))
			(sequence (regex "[_[:alpha:]][_[:word:]]*")
				  (optional
				   (sequence "("
					     (0+
					      (or
					       (sequence "\\"
							 not-newline)
					       (not (any "()\\"))
					       (sequence "("
							 (zero-or-more
							  (not
							   (any "()\\")))
							 ")")))
					     ")")))
			(0+
			 (sequence
			  (or
			   (sequence
			    (0+
			     (or (sequence (or space "\n"))
				 (sequence "#" (0+ (not (in "\n")))
					   "\n")))
			    ":"
			    (0+
			     (or (sequence (or space "\n"))
				 (sequence "#" (0+ (not (in "\n")))
					   "\n"))))
			   (1+
			    (or (sequence (or space "\n"))
				(sequence "#" (0+ (not (in "\n")))
					  "\n"))))
			  (sequence (regex "[_[:alpha:]][_[:word:]]*")
				    (optional
				     (sequence "("
					       (0+
						(or
						 (sequence "\\"
							   not-newline)
						 (not (any "()\\"))
						 (sequence "("
							   (zero-or-more
							    (not
							     (any
							      "()\\")))
							   ")")))
					       ")")))))
			(optional ":")))))
	   (0+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 3 (or ";" "{")))
 (sequence symbol-start
	   (optional
	    (sequence (group-n 3 (or "my" "state" "our"))
		      (1+
		       (or (sequence (or space "\n"))
			   (sequence "#" (0+ (not (in "\n"))) "\n")))))
	   (group-n 1 (or "method" "sub"))
	   (1+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 2
	     (or
	      (sequence
	       (1+
		(sequence (opt (regex "[_[:alpha:]][_[:word:]]*"))
			  "::"))
	       (opt (regex "[_[:alpha:]][_[:word:]]*")))
	      (regex "[_[:alpha:]][_[:word:]]*"))))
 (sequence symbol-start (optional (group-n 3 unmatchable))
	   (group-n 1 "field")
	   (1+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (sequence (in "$@%") (regex "[_[:alpha:]][_[:word:]]*"))
	   (1+
	    (or (sequence (or space "\n"))
		(sequence "#" (0+ (not (in "\n"))) "\n")))
	   (group-n 2
	     (sequence ":"
		       (optional
			(0+
			 (or (sequence (or space "\n"))
			     (sequence "#" (0+ (not (in "\n"))) "\n")))
			(sequence (regex "[_[:alpha:]][_[:word:]]*")
				  (optional
				   (sequence "("
					     (0+
					      (or
					       (sequence "\\"
							 not-newline)
					       (not (any "()\\"))
					       (sequence "("
							 (zero-or-more
							  (not
							   (any "()\\")))
							 ")")))
					     ")")))
			(0+
			 (sequence
			  (or
			   (sequence
			    (0+
			     (or (sequence (or space "\n"))
				 (sequence "#" (0+ (not (in "\n")))
					   "\n")))
			    ":"
			    (0+
			     (or (sequence (or space "\n"))
				 (sequence "#" (0+ (not (in "\n")))
					   "\n"))))
			   (1+
			    (or (sequence (or space "\n"))
				(sequence "#" (0+ (not (in "\n")))
					  "\n"))))
			  (sequence (regex "[_[:alpha:]][_[:word:]]*")
				    (optional
				     (sequence "("
					       (0+
						(or
						 (sequence "\\"
							   not-newline)
						 (not (any "()\\"))
						 (sequence "("
							   (zero-or-more
							    (not
							     (any
							      "()\\")))
							   ")")))
					       ")")))))
			(optional ":")))))
 (sequence line-start (group-n 1 "=head") (group-n 3 (in "1-4"))
	   (1+ (in "    ")) (group-n 2 (1+ (not (in "\n"))))))

Documentation

A regular expression to collect stuff that goes into the imenu index.

Covers packages and classes, subroutines and methods, and POD headings.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/cperl-mode.el.gz
(defconst cperl--imenu-entries-rx
  `(or ,cperl--package-for-imenu-rx
       ,cperl--class-for-imenu-rx
       ,cperl--sub-name-for-imenu-rx
       ,cperl--sub-name-generated-rx
       ,cperl--pod-heading-rx)
  "A regular expression to collect stuff that goes into the `imenu' index.
Covers packages and classes, subroutines and methods, and POD headings.")