Vim script 用のオムニ補完プラグインの仕様を少し変えました

ちょっと前に書いた Vim script 用のオムニ補完プラグイン vim-Verdin の仕様を変えました。以前は設定用の変数は

let g:Verdin_fuzzymatch = 1

のように g:Verdin_name の書式だったのですが、 g:Verdin#name に変えました。つまり、今はこのように書きます。

let g:Verdin#fuzzymatch = 1

もし、使っていた方がいたら書き換えてください。新しい方の # 区切りの変数はオートロード変数といって、値を参照しようとすると対応するファイルを読み込んでくれます。新しい設定変数を扱うのに都合がよかったので、いい機会だと思って統一しました。

これに際して、これらの変数を定義しているファイル (autoload/Verdin.vim) を軽量化しました。具体的には最低限必要な変数と関数名の定義だけするようにして、処理の中身をよそのファイルに移しました。これで、 vimrc から変数を参照しても起動時間にあまり影響しないと思います。ただし、そもそも設定変数を使っていない人には当然影響はありません。

(2017/09/04 追記)
あと、あいまいマッチ (fuzzy match) 機能はデフォルトで有効になりました。上記の設定をする必要は今はないです。


オートロード変数はとても便利なんですけど、グローバルな g:foo#bar はあっても b:foo#bar は定義できないので、バッファローカルな設定に対応しようとすると b:foo_bar にせざるを得ないのだけ気持ちが悪いです…。