目的
- Macで動く
- Railsプロジェクト内のソースはもちろん
- 依存するgemsも参照したい
- 出来れば自動で
道のり
Macはctags入っているけど古いのでbrewでいれる。
古いMacだと入ってないかもしれないので、その場合もbrewでいれる。
brew install ctags
古い方向いているので、alias向けておこう。
任意のディレクトリで、
ctags -R
とかやると、tagsが生成される。
gemsだけなら、
ctags -R `bundle show --paths`
でワンライナーでいけるっぽい。
要するに上のふたつをvimでAutoCommandすりゃいい。
結果
で、結果として、素晴らしいpluginがあった。
書かなくてよかった。
vim-tags
https://github.com/szw/vim-tags
Vundlerなどでインストールして軽く設定する。
ctags.vim
let g:vim_tags_project_tags_command = "/usr/local/Cellar/ctags/5.8/bin/ctags -f .tags -R {OPTIONS} {DIRECTORY} 2>/dev/null &"
let g:vim_tags_gems_tags_command = "/usr/local/Cellar/ctags/5.8/bin/ctags -R -f .Gemfile.lock.tags `bundle show --paths` 2>/dev/null &"
set tags+=.tags
set tags+=.Gemfile.lock.tags
デフォだと古いctagsが動いちゃって困るので、fullpathで書いておく。
もしくは/usr/bin/ctagsを消してsymlink貼るなど。オススメしないけど。
あと、デフォルトで生成されるtags, Gemfile.lock.tagsという名前が気に入らなかったので、先頭に.(dot)をつけた。
.gitignoreに書いておこう。
forkして書き換えた方が良かったかなとも思いつつうまく動いているのでよし。