Как добавить плагин Python в Gnu Global

Моя версия gtags - gtags - GNU GLOBAL 5.9.2

Я скачал плагин Python для Gnu Global здесь

скопируйте globalrc.example в ~/.globalrc

скопируйте скрипт /python_global_tags.py в ~/bin/python_global_tags.py, который находится в моем $PATH

введите: "gtags" в каталоге файлов Python

не жалуйся

тип: "глобальный -f test.py"

нет выхода

но "global -g" работает, я бродю, если это просто оболочка из grep

Мой вопрос:

  • Можно ли даже написать плагин в самом Python?
  • Есть ли учебник по настройке ~/.globalrc, учебники на официальном сайте так мало об этом упоминают.

Большое спасибо,

GNU Global растет, но все еще поддерживает так мало языков, кстати

2 ответа

Только для тех, кто попадает на эту страницу через Google: теперь GNU Global поддерживает Python (и даже больше) с помощью замечательного плагина на основе Pygments:

https://github.com/yoshizow/global-pygments-plugin

Просто следуйте README, единственное замечание: в моем случае gtags создавал пустые файлы для больших файловых деревьев, возможно, из-за интенсивного использования символических ссылок; решение заключается в использовании find как указано в руководстве:

find . -name '*.py' >/tmp/list     # make a file set
gtags -f /tmp/list                 # and use it

Теперь можно искать определения

global -x main     # suppose you have at least one main() somewhere in the code

или ссылки

global -rsx sys                    # this is likely to list *all* your modules

или даже поиск возможных дополнений для неполных тегов:

global -cs OrderedD                # -c: "complete", -s: "non-local references"

Насколько я понимаю, GNU Global пока не поддерживает Python. На домашней странице написано:

поддержка C, C++, Yacc, Java, PHP4 и сборка. (определение и ссылка)

И этот пост в основном говорит, что нам нужно написать плагин на C. Поскольку global не поддерживается, я вернулся к старым добрым Exuberant Ctags:

ctags -e -R .

Работает хорошо, но вы не получите обратных ссылок. Смотрите также этот другой вопрос о etags.

Другие вопросы по тегам