如何获取 ctags 使用的正则表达式定义列表?

如何获取 ctags 使用的正则表达式定义列表?

我在用旺盛的ctags命令行工具。

% ctags --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert

我想获取 ctags 在索引文件时将使用的正则表达式定义的列表。
例如,我可以查看 ctags 支持哪些语言:

% ctags --list-languages
BETA
C
C++
C#
Cobol
DosBatch
Eiffel
Erlang
Flex
Fortran
Go
HTML [disabled]
Java
JavaScript
Ruby
Scheme
Sh
SLang

我对 感兴趣Sh,所以我可以看到哪些文件扩展名将触发 ctags 将查找Sh标识符:

% ctags --list-maps=Sh
Sh       *.sh *.SH *.bsh *.bash *.ksh *.zsh

现在我想要该Sh语言的正则表达式定义映射的输出,例如我正在寻找类似的东西:

ctags --list-definitions=Sh

它希望打印出类似的东西

--regex-sh=/function[ \t]*([A-Za-z0-9._$()]+)[ \t]*\(/\1/F,function,functions/
--regex-sh=/^[ \t]*(local)?[ \t]*([A-Za-z0-9_-]+)=/\2/v,variable,variables/

这可以用 ctags 实现吗?

答案1

简而言之:它不会那样做。

long: 里面没有这样的东西手册页

要求新功能是没有意义的,因为它已经有一段时间没有被触及了(请参阅网站)。还有一个网站宣传自己是“维护的 ctags”,但快速阅读一下它的手册页显示出很小的差异(没有你正在寻找的东西)。

如果这很重要,请记住这些项目是自助服务:如果您需要某个功能,那么如果您完成工作,可能会更快地获得它。

相关内容