Variable: speedbar-fetch-etags-parse-list
speedbar-fetch-etags-parse-list is a variable defined in
speedbar.el.gz.
Value
(("\\.\\([cChH]\\|c\\+\\+\\|cpp\\|cc\\|hh\\|java\\|cxx\\|hxx\\)\\'" . speedbar-parse-c-or-c++tag)
("^\\.emacs$\\|.\\(el\\|l\\|lsp\\)\\'" . "def[^i]+\\s-+\\(\\(\\w\\|[-_]\\)+\\)\\s-*")
("\\.tex\\'" . speedbar-parse-tex-string)
("\\.p\\'" . "\\(\\(FUNCTION\\|function\\|PROCEDURE\\|procedure\\)\\s-+\\([a-zA-Z0-9_.:]+\\)\\)\\s-*(?^?"))
Documentation
Associations of file extensions and expressions for extracting tags.
To add a new file type, you would want to add a new association to the list, where the car is the file match, and the cdr is the way to extract an element from the tags output. If the output is complex, use a function symbol instead of regexp. The function should expect to be at the beginning of a line in the etags buffer.
This variable is ignored if speedbar-use-imenu-flag is non-nil.
Source Code
;; Defined in /usr/src/emacs/lisp/speedbar.el.gz
;;; Tag Management -- etags (old XEmacs compatibility part)
;;
(defvar speedbar-fetch-etags-parse-list
'(;; Note that java has the same parse-group as c
("\\.\\([cChH]\\|c\\+\\+\\|cpp\\|cc\\|hh\\|java\\|cxx\\|hxx\\)\\'" .
speedbar-parse-c-or-c++tag)
("^\\.emacs$\\|.\\(el\\|l\\|lsp\\)\\'" .
"def[^i]+\\s-+\\(\\(\\w\\|[-_]\\)+\\)\\s-*\C-?")
; ("\\.\\([fF]\\|for\\|FOR\\|77\\|90\\)\\'" .
; speedbar-parse-fortran77-tag)
("\\.tex\\'" . speedbar-parse-tex-string)
("\\.p\\'" .
"\\(\\(FUNCTION\\|function\\|PROCEDURE\\|procedure\\)\\s-+\\([a-zA-Z0-9_.:]+\\)\\)\\s-*(?^?")
)
"Associations of file extensions and expressions for extracting tags.
To add a new file type, you would want to add a new association to the
list, where the car is the file match, and the cdr is the way to
extract an element from the tags output. If the output is complex,
use a function symbol instead of regexp. The function should expect
to be at the beginning of a line in the etags buffer.
This variable is ignored if `speedbar-use-imenu-flag' is non-nil.")