vim用補完辞書 for Cocoa
vimでのobjcの補完について。とりあえず辞書補完がいちばん準備が簡単なのでつくってみた。
スクリプトは原理的にはCarbon, CoreFoundationなど他のAPIにも流用できるはずです。
":"が辞書中の単語区切りと見なされないように、
autocmd FileType objc setlocal iskeyword+=:
とかしておかないと、まともに使えないので注意。
まだあんまり使ってないけど、自分としてもビミョウな感じ。感想とか改善案をいただけるとうれしいです。
やっぱりもう少し賢く候補を絞り込むとか、候補表示時にクラスなどのメタデータが表示できるとかがいいよなあ(辞書ファイルのパスとかいらない…)。
もちっとデータ整備して自分で関数書かかないとダメかなあ。
補完辞書のための単語抽出の手段
いくつか考えてみたことをメモ。
まず、ドキュメントからアプローチする方法。
利点としてはドキュメントがあるシンボルは有用なものだろうという期待ができること、欠点としてはドキュメントがないとシンボルが抽出できないこと。
もう一方としてはヘッダファイルなど実際のコードから抽出する方法。
利点としては実際のコードからシンボルを収集するので漏れが少ない、欠点としては不要なものを排除するのがたいへん。
手段として検討してみたのは以下のもの。
- ドキュメントから
- docsetutilのdumpを使う
- Cocoa Browser SNの機能を利用する
- コードから
- xcodeindexのdumpを使う
- 自分でパーサを書く
今回はdocsetutilを使う方法をとった。
最終的な落とし所は、ハイブリッドで
というのが良さそうと思っているのだけど、道は遠いね。