2011-04-14 18 views
5

我gtags優化版本是gtags - GNU GLOBAL 5.9.2如何在插件中添加Python來牛羚全球

我下載了一個Python插件爲GNU全球here

的globalrc.example複製到〜 /.globalrc

複製腳本/ python_global_tags.py到〜/斌/ python_global_tags.py這是我的$ PATH

類型: 「gtags」 中的巨蟒文件的目錄

沒有抱怨

類型: 「全球-f test.py」

沒有輸出

但 「全球-g」 的作品,我徘徊,如果它僅僅是一個grep的

的包裝

我問題是:

  • 是否有可能在python本身編寫插件?
  • 有沒有教程配置〜/ .globalrc,在offical site tutoials提到這麼少。

非常感謝,

GNU全球呈上升趨勢,但仍然支持這樣幾種語言BTW

+1

顯然這個問題也發佈在help-global郵件列表上,並且在那裏收到了一個答案。以下是感興趣的人的鏈接:http://lists.gnu.org/archive/html/help-global/2011-04/msg00001.html – mgalgs 2012-02-22 07:10:28

回答

0

據我瞭解,GNU全球不支持Python的呢。主頁說:

支持C,C++,Yacc,Java,PHP4和程序集。 (定義和 參考)

而且this post基本上說,我們需要用C編寫一個插件,由於全球不支持,我恢復到良好的舊Exuberant Ctags

ctags -e -R . 

效果很好,但是你沒有得到反向引用。另見this other question about etags

5

只爲那些通過谷歌在本頁面到達:現在GNU全球確實支持的Python(及以上)通過一個美妙的基於Pygments來做插件:

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

只需按照README,唯一請注意,在我的情況下,gtags爲大文件樹生成空文件,可能是由於大量使用符號鏈接;該解決方案是使用find作爲買賣本manual

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"