Emacs获取Perl文件中的函数列表

时间:2012-10-21 09:12:56

标签: emacs

我想自动生成一个HTML文档,其中包含Perl文件的文档。要构建它,我需要一个包含在文件中的列表函数。每个函数都具有'^ sub name'格式。是否有任何函数可以获取所有函数名称?或者怎么写呢?

2 个答案:

答案 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中的结果。