Pebble Coding

プログラマーの作業メモ

taglist.vim を Objective-C対応する

[2013-12-23追記] 2.と3.の手順はtaglist.vimを修正することで置き換えることができました。
こちらのtaglist.vimをお使いください。 https://github.com/pebble8888/taglist.vim

taglist.vimObjective-Cに対応できたので、手順を残しておく。

brewでインストールされるctags(本家のtrunk)や、
https://github.com/splhack/ctags-objc-ja/wiki
にあるctagsではうまく行かなかったので、どうしようか悩んでいたのですが、
結局、ctags-objc-jaのMakefileを少し修正したらうまく動きました。

修正する気満々でデバッグ用のをビルドしたら正常に動いたので、
そちらに合わせただけなんですがねえ。
意味がよく分からないですが、動いたのでよしw

修正したctagsはこちら
https://github.com/pebble8888/ctags-objc-ja

1.Objective-C対応のctagsを使えるようにする。 私が修正した上記のctagsをgithubからcloneしてインストールして下さい。
git clone https://github.com/pebble8888/ctags-objc-ja
autoconf
configure
sudo make install

2.taglist.vimObjective-Cの定義を追加する

taglist.vimファイルを直接編集し、365行目辺りに次の内容を追加します。

let s:tlist_def_objc_settings = 'ObjC++;P:protocol;i:class_interface;I:class_implementations;M:instance_methods;C:implementation_methods;Z:protocol_methods'

3. filetype.vimを編集する

これはvimに対して、拡張子m,mmのファイルをObjective-C
ファイルタイプ(objc)として認識させるためのものです。

vim環境の場合、編集したfiletype.vimを~/.vim/に置けばいいです。
MacVimの場合、/Application/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
を直接編集してしまいました。
2箇所編集します。

"au BufNewFile,BufRead .m call s:FTm()
au BufNewFile,BufRead
.m setf objc

"au BufNewFile,BufRead .mm call s:FTmm()
au BufNewFile,BufRead
.mm setf objc

<参考URL>

http://stackoverflow.com/questions/2968522/alternatives-to-ctags-cscope-with-objective-c