Goのライブラリのソースを読みたくなったので補助ツールとしてctagsを使ってtagファイルを作成してみる。
ctags5.8ではまだ入ってないので.ctagsファイルに以下の設定を追記した。
--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/
go - ctag database for golang - Stack Overflow
これを設定してからこんな感じでコマンドを実行してやればめでたくtagファイルが作成できます。
% /usr/local/bin/ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Jan 26 2013, 21:31:18
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
% ls
README.md lib main.go
% /usr/local/bin/ctags -a -f tags -R .
% ls
README.md lib main.go tags
これからちょっとvegetaのコードを読もうと思う。