Как выделить ctags, сгенерированные Universal Ctags в Vim? - PullRequest
0 голосов
/ 14 ноября 2018

Единственный найденный мной плагин, который выделяет ctags, это TagHighlight , который использует Exuberant Ctags .Exuberant Ctags кажется заброшенным, и я думаю, что в целом сделан вывод о том, что Universal-Ctags является лучшим выбором.
Можно ли использовать Universal Ctags для выделения пользовательских типов в Vim (например, объектов)?
Должен быть ручной способ сделать это, но я ничего не смог найти.

Я использую Neovim.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Я, наконец, заставил его работать (было небольшое предостережение).

vim-easytags имеет функцию проверки версии, которая в основном сопоставляет вывод команды ctags --version с некоторым регулярным выражением для извлечения номера версии. По какой-то причине при использовании Universal Ctags этот вывод будет:

Universal Ctags 0.0.0(45968eff), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
...

Регулярное выражение принимает версию за 0.0.0.
Есть несколько решений, среди которых:

  1. Отключить проверку версии полностью
  2. Сделать регулярное выражение более устойчивым
  3. Переписать проверку версии, чтобы учесть также Universal Ctags

Я доволен вариантом 1.

0 голосов
/ 14 ноября 2018

То, что TagHighlight не публиковал новые версии в последние годы, не означает, что плагин больше не работает. Последнее действие на Bitbucket было год назад; это может быть просто зрелый плагин. API Vim очень стабилен, и обратная совместимость очень важна для Брэма, поэтому вы все равно можете использовать плагин, даже если больше нет активного сопровождающего.

Плагин easytags также давно не видел обновлений, но я все еще использую его, и он предлагает запрошенную функциональность с помощью команды :HighlightTags, хотя его основное назначение - автоматическое обновление теги.

...