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
にせざるを得ないのだけ気持ちが悪いです…。