如何将Python插件添加到Gnu Global

时间:2011-04-14 09:57:23

标签: python tags gnu gnu-global

我的gtags verion是gtags - GNU GLOBAL 5.9.2

我为Gnu Global here

下载了一个python插件

将globalrc.example复制到〜/ .globalrc

将脚本/ python_global_tags.py复制到我的$ PATH中的〜/ bin / python_global_tags.py

在python文件目录中输入“gtags”

没有抱怨

输入:“global -f test.py”

无输出

但是“global -g”有效,如果它只是grep

的包装,我会徘徊

我的问题是:

  • 甚至可以在python中编写一个插件吗?
  • 是否有一个配置〜/ .globalrc的教程,offical site中提到的tutoials很少提及。

非常感谢,

gnu全球正在崛起,但仍支持如此少的语言btw

2 个答案:

答案 0 :(得分:6)

仅限那些通过Google访问此页面的人:现在GNU Global 通过一个精彩的基于Pygments的插件支持Python(及更多):

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

只需按照README,唯一的注意事项就是在我的情况下gtags为大文件树生成了空文件,可能是由于大量使用了符号链接;解决方案是使用manual中建议的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"

答案 1 :(得分:0)

根据我的理解,GNU Global还不支持Python。主页说:

  

支持C,C ++,Yacc,Java,PHP4和汇编。 (定义和   参考)

this post基本上说我们需要在C中编写一个插件。由于不支持全局,我又回到了原来的Exuberant Ctags

ctags -e -R .

运作良好,但你没有得到反向引用。另请参阅this other question about etags