Как добавить плагин 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.