ctags 标记地址作为行号

ctags tag address as a line number

我正在创建一个 IDE 并且我希望实现跳转到定义。

我找到了完美的工具:ctags (https://github.com/universal-ctags/ctags)

现在唯一的问题是 ctags 创建的标签文件看起来像这样:

QLineNumberArea 2point56mb.py /^class QLineNumberArea(QWidget):$/;" c

我理解格式:{tagname}Tab{tagfile}Tab{tagaddress}

据我了解:tagname: QLineNumberArea, tagfile: 2point56mb.py and tagaddress: /^class QLineNumberArea(QWidget):$ /;" c`

tagaddress 看起来像乱码,但它是一个 vim/ex 编辑器命令,可以将您带到定义。

现在从我在这个网站上读到的内容来看:https://github.com/cztchoice/ctags/wiki/Tag-Format

Security 下它指出:

Specifically, these two Ex commands are allowed:

A decimal line number:

89 A search command. It is a regular expression pattern, as used by Vi, enclosed in // or ??:

/^int c;$/ ?main()?

问题来了:

我需要我的标签文件有一个行号,而不是搜索命令。 我尝试查找 ctags (http://docs.ctags.io/en/latest/) 的文档,但找不到任何对我有帮助的内容。

有谁知道如何让 ctags 以行号而不是搜索命令的形式给出标签地址?

该文档仅针对通用 ctags 引入的更改。您要查找的是 exuberant ctags:

的文档
−−excmd=type

Determines the type of EX command used to locate tags in the source file. [Ignored in etags mode]

也可以用-n实现。