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
实现。
我正在创建一个 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
实现。