2

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

4

1 回答 1

3

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

也就是说,Lisp 似乎只寻找几种可以通过正则表达式处理的形式:

  • 它在第一列中查找“(”
  • 它跳过 defvar
  • 它忽略出现在“(”之后的“cl-”或“CL-”
  • 然后,“def”和“DEF”匹配
  • 它还检查“(package::def”作为导入

我通过阅读 Emacs 源代码树中的 lib-src/etags.c 发现了这一点。搜索“Lisp_functions”。

于 2014-08-13T17:39:06.950 回答