basyura's blog

あしたになったらほんきだす。

neco-member-dict - 辞書ファイルからメンバ補完する neocomplete の source

f:id:basyura:20140708144952g:plain

https://github.com/basyura/neco-member-dict

辞書ファイルに

UINavigationController.alloc.initWithRootViewController
UIColor.blueColor
UIColor.redColor
UIColor.whiteColor
self.view.frame.size.width

って書いといたらメンバ補完してくれたらいいのにと前々から思っていたのをやや強引に実装してみた。

いまいちなところ

  • 補完開始位置を切り出す get_complete_position は、neocomplete の member.vim を丸パクリ
  • 補完開始位置前の単語を取得する方法がよく分からんので強引に実装 (取得した単語を元に補完するキーワードを表示する)
  • s:cache で抱え込んでいる
  • . で区切られた単語が対象。 : とか :<space> も区切り文字として判定したい (けど、パターンが膨れすぎて抱えるキャッシュの量がハンパなくなりそう)