« Chris Hanson - LLVM terminology | トップページ | 第2回「詳解Objective-C 2.0」読書会は、7/28(月) 池袋で »

2008.07.24

vim用補完辞書 for Cocoa

vimでのobjcの補完について。とりあえず辞書補完がいちばん準備が簡単なのでつくってみた。

  • cocoa-vimdict-20080724.tar.gz
    • cocoa.dict (辞書: メソッド、クラス、定数、関数など16,177件)
    • docset-vimdict.rb (辞書作成に使ったスクリプト)

スクリプトは原理的にはCarbon, CoreFoundationなど他のAPIにも流用できるはずです。

":"が辞書中の単語区切りと見なされないように、

 autocmd FileType objc setlocal iskeyword+=:

とかしておかないと、まともに使えないので注意。 まだあんまり使ってないけど、自分としてもビミョウな感じ。感想とか改善案をいただけるとうれしいです。

やっぱりもう少し賢く候補を絞り込むとか、候補表示時にクラスなどのメタデータが表示できるとかがいいよなあ(辞書ファイルのパスとかいらない…)。 もちっとデータ整備して自分で関数書かかないとダメかなあ。

補完辞書のための単語抽出の手段

いくつか考えてみたことをメモ。

まず、ドキュメントからアプローチする方法。 利点としてはドキュメントがあるシンボルは有用なものだろうという期待ができること、欠点としてはドキュメントがないとシンボルが抽出できないこと。

もう一方としてはヘッダファイルなど実際のコードから抽出する方法。 利点としては実際のコードからシンボルを収集するので漏れが少ない、欠点としては不要なものを排除するのがたいへん。

手段として検討してみたのは以下のもの。

今回はdocsetutilを使う方法をとった。

最終的な落とし所は、ハイブリッドで

  • Appleの分はドキュメントを使う
  • 現在のプロジェクト、利用しているサードパーティフレームワーク・ライブラリはコードから

というのが良さそうと思っているのだけど、道は遠いね。

|

« Chris Hanson - LLVM terminology | トップページ | 第2回「詳解Objective-C 2.0」読書会は、7/28(月) 池袋で »