Blank File

LinuxとかPythonとかVimとか、趣味でいじる感じで

Nimrod.vimのomni補完をまともっぽく動くようにしたので人柱募集です

VimでNim*1のコードを書く時はとりあえず nimrod.vim を入れておけばなんとかなる*2のですが、このプラグインのOmni補完(インサートモードで <C-x><C-o> )がちゃんと動いてないっぽかったので修正してました。

ついでに、デフォルトでneocomplete 用の設定も入るようにしました(元はneocomplchacheの設定だけ入ってた)。

というわけで、PR送りたいのですが、ちょっと自信がないのでしばらく手元で試します。 自分で使うだけだと不安なので、Nimの補完に不便してて人柱してくださる人がもしいたらお願いしたいです。

修正後のファイルはmiyakogi/nimrod.vimimprove_completionブランチです。

NeoBundleを使っている方は、以下を.vimrcに書けば入ります。

NeoBundle 'miyakogi/nimrod.vim', 'improve_completion'

下記のコードを適当なファイルに書いて、

type
  Person = object of RootObj
    name*: string
    age: int
    aaaa:  string
    aacc:  string
    aaddaa:  string
    saa:  string

var
  person: Person

最後にecho(person.aまで入力して <C-x><C-o> でOmni補完をすると次のような補完候補が出ると思います。型情報なども出るので、バッファ補完よりは使い易くなっているはずです。 (自動補完との兼ね合いで違う表示になる可能性もありますが・・・)

f:id:h-miyako:20150124174318p:plain

これ書いてていくつか問題ありそうなことに気づきました。 とりあえず一文字入力しないと補完候補出ませんねこれ。 たぶん後で修正します。 修正しました。