GNU globalすげぇ。
GNU globalが気になったので使ってみた。
何といっても凄いのは、「global -r hoge」で参照元に飛べる点。コードリーディングには必修です。
Vimとの連携は以下を参照。
うちの環境では、/usr/share/gtags/gtags.vimにプラグインが入ってた。パッチを当てないとエンターで飛べないので当てた方がいい。
タグの作成は、
% gtags
これだけ。簡単杉。
:Gtags -r malloc dir.c|957| #define GLOB_ALLOC(type) (type *)malloc(sizeof(type)) dir.c|958| #define GLOB_ALLOC_N(type, n) (type *)malloc(sizeof(type) * (n)) dln.c|1877| vms_filespec = malloc(strlen(filespec)+1); ...(略
mallocがどこで使われているかわかる。対応言語が少ないのが残念だけど、参照元を見たいときはGNU global。
あんまり意味が無いけど、zshの補完もヤバい。
% global -t m<tab> main match_string method_inspect main_thread match_to_a method_missing
ステキ過ぎる。