Emacs ETag的默认正则表达式

Emacs ETag的默认正则表达式,emacs,elisp,etags,Emacs,Elisp,Etags,我想创建额外的正则表达式用于etags,但我希望它们基于已有的正则表达式(特别是,我想将[\t]*添加到etags使用的当前正则表达式集中)。etags用于.lisp文件的默认正则表达式集是什么?etags通常不使用正则表达式来实现内置语言。相反,它为每种内置语言都提供了自定义的解析器代码 也就是说,Lisp似乎只寻找几个可以由正则表达式处理的表单: 它在第一列中查找“(” 它跳过了defvar 它忽略出现在“(”之后的“cl-”或“cl-” 然后,“def”和“def”匹配 它还检查是否有“

我想创建额外的正则表达式用于etags,但我希望它们基于已有的正则表达式(特别是,我想将[\t]*添加到etags使用的当前正则表达式集中)。etags用于.lisp文件的默认正则表达式集是什么?

etags通常不使用正则表达式来实现内置语言。相反,它为每种内置语言都提供了自定义的解析器代码

也就是说,Lisp似乎只寻找几个可以由正则表达式处理的表单:

  • 它在第一列中查找“(”
  • 它跳过了defvar
  • 它忽略出现在“(”之后的“cl-”或“cl-”
  • 然后,“def”和“def”匹配
  • 它还检查是否有“(package::def”作为引入项
我通过阅读Emacs源代码树中的lib src/etags.c找到了这一点