我想自动生成一个HTML文档,其中包含Perl文件的文档。要构建它,我需要一个包含在文件中的列表函数。每个函数都具有'^ sub name'格式。是否有任何函数可以获取所有函数名称?或者怎么写呢?
答案 0 :(得分:2)
您可以使用elisp搜索功能:
(defun find-perl-sub ()
(let ((subs))
(with-current-buffer "my-perl-file.pl"
(goto-char (point-min))
(while (re-search-forward "^[[:blank:]]*sub[[:blank:]]+\\([a-zA-Z0-9_]+\\)" nil t)
(push (match-string-no-properties 1) subs)))
subs
))
答案 1 :(得分:2)
请注意, imenu 已经完成了提取所有函数名称(以及它们在缓冲区中的位置)。
所以你可能更喜欢使用它。只需致电imenu--make-index-alist
,然后查看imenu--index-alist
中的结果。