адрес тега ctags как номер строки - PullRequest
0 голосов
/ 11 июля 2019

Я создаю 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 и tagaddress: / ^ class QLineNumberArea (QWidget): $ /; "c`

Тег-адрес выглядит как бред, но это vim /Команда бывшего редактора, которая приведет вас к определению.

Теперь из того, что я прочитал на этом сайте: 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 давать адреса тегов в виде номера строки, а не команды поиска?

1 Ответ

0 голосов
/ 12 июля 2019

Эта документация предназначена только для изменений, внесенных универсальными ctags.То, что вы ищете, это документация для exuberant ctags :

−−excmd=type

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

, что также может быть достигнуто с помощью -n.

...