UbuntuでPythonのコードをGtags(Global)する
Qiitaに投稿しようとおもったら、言いたいことが全部この記事に書いてあったので、はてなに残骸を記録しておく。
下準備
globalの入手
aptだと古いものがインストールされてしまうので公式にから最新者をDLしてきましょう。 GNU global 公式
自分がインストールした時は、v6.6.1でした。公式は古臭いサイトですが、わりと更新されます。
wget http://tamacom.com/global/global-6.6.1.tar.gz tar xvf global-6.6.1.tar.gz
globalのビルドに必要なものをインストール
GNU Global公式に書いてあるものをインストールしましょう。 texinfoは書いてないですがmakeするときに怒られるので入れましょう。
sudo apt install automake autoconf gperf bison flex texinfo
Pygmentsのインストール
gtagsはデフォルトだと、C, C++, Yacc, Java, PHP4, assemblyにしか対応していませんが、Pygmentsを使うことで様々な言語のタグ付けが可能です。
pip install Pygments
globalのビルド&インストール
簡単です。もし足りないものがあるとエラーがでるので、都度入れていきましょう。
cd global-6.6.1
sh reconf.sh
./configure
make
sudo make install
globalrcとgtags.conf
最低でもホームディレクトリに.globalrcがないとPygmentsが使えないので、デフォルトの設定ファイルをコピーしましょう。
cp /usr/local/share/gtags/gtags.conf ~/.globalrc
特定のパスはタグ付けしたくない などプロジェクトごとに細かい設定したい場合は、gtags.confというファイル名でプロジェクトのルートディレクトリに置きましょう。
cp /usr/local/share/gtags/gtags.conf ~/<PROJECT_DIRECTORY>/gtags.conf
タグ付け
Pythonのコードをタグ付けするときは、パーサーにPygmentsを選びましょう。
gtags --gtagslabel=pygments
環境変数で指定することもできます
export GTAGSLABEL=pygments gtags
.globalrcやgtags.confでも設定できます。 default:\がnativeと記載されているので、これをpygmentsに設定しておけば、オプションの指定や環境変数の設定が不要になります。
default:\ :tc=pygments: #:tc=native: