Exuberant ctags игнорирует опцию python-kinds

Я пытаюсь создать файл ctags для стандартной библиотеки Python, чтобы я мог добавить его в свои проекты Python, чтобы получить правильную маркировку/выделение для функций стандартной библиотеки. Я не хочу генерировать теги для переменных, так как это сделало бы файл тегов огромным, и меня действительно интересуют только имена функций и классов. Однако Exuberant Ctags, похоже, игнорирует все мои запросы на отключение тегов переменных и по-прежнему создает файл тегов, содержащий множество записей kind:v.

Вот как я запускаю Exuberant Ctags:

cd /usr/lib/python3.5
sudo chmod o+w .
ctags --languages=python --python-kinds=-vi --tag-relative=yes -f ./tags --recurse --fields=+iaSszt --extra=+q .

(Обратите внимание, что я временно делаю /usr/lib/python3.5 доступным для записи во всем мире, чтобы ctags мог создавать файл тегов в текущем каталоге; я использую --tag-relative, потому что хочу использовать этот файл тегов с Vim. плагин TagHighlight).

А вот несколько примеров строк из файла тегов, который он создает, показывая, что он все равно игнорировал мои параметры и индексировал переменные:

Array1Glob      test/pystone.py /^Array1Glob = [0]*51$/;"       kind:v
Array2Glob      test/pystone.py /^Array2Glob = [x[:] for x in [Array1Glob]*51]$/;"      kind:v
ArrayProxy      multiprocessing/managers.py     /^ArrayProxy = MakeProxyType('ArrayProxy', ($/;"        kind:v
ArticleInfo     nntplib.py      /^ArticleInfo = collections.namedtuple('ArticleInfo',$/;"       kind:v
...
Attribute       inspect.py      /^Attribute = namedtuple('Attribute', 'name kind defining_class object')$/;"    kind:v
AttributeList   xml/dom/minidom.py      /^AttributeList = NamedNodeMap$/;"      kind:v
AttributesImpl  xml/sax/expatreader.py  /^AttributesImpl = xmlreader.AttributesImpl$/;" kind:v
AttributesImpl  xml/sax/xmlreader.py    /^class AttributesImpl:$/;"     kind:c  inherits:
AttributesNSImpl        xml/sax/expatreader.py  /^AttributesNSImpl = xmlreader.AttributesNSImpl$/;"     kind:v

В качестве теста я также попытался создать файл ~/.ctags, содержащий «--python-kinds=-vi», вместо того, чтобы передавать его в командной строке, но это не имело значения.

Что происходит? Почему python-kinds=-vi игнорируется?


person Edward    schedule 13.09.2017    source источник


Ответы (1)


Это ошибка Exuberant Ctag, и вы можете использовать universal-ctags.

Эта ошибка уже была исправлена в универсальных тегах.

person haolee    schedule 23.09.2017
comment
Что ж, разочаровывает, что exuberant-ctags просто не работает, но спасибо, что сказали мне, что это известная ошибка. - person Edward; 04.10.2017