81 howm-mode.vim (2-44) キーワードまわりの修正

ダウンロードURL: http://khkh.o0o0.jp/vim/howm_vim.patch.20080416

キーワードファイルの再構築が正常動作しないバグを修正

前回追加したグローバル変数 howm_wildignore によるバグがキーワードまわりにあった。キーワードファイルを再構築する際に、howm_wildignore を反映してしまう。修正ついでに、キーワードファイルの再構築について書く。

初期の howm-mode.vim では RevertKeyword() というグローバル関数でこれに対応している。グローバル関数を使うのはイマイチだなと思い、<Plug>HOWM_RebuildKeywordFile を <leader>,rk にマッピングすることで対応するよう変更した。

キーワードがなにかおかしいなと思ったら <leader>,rk でキーワードファイルを再構築してやれば、きっと元通りになるはず。

キーワードの正規表現を修正した

今回は、もう一点、キーワードの正規表現を修正した。初期の正規表現では、おそらく期待どおりの動作をしていなかったので変更した。末尾の空白を削除できるようになっている点と、一文字でも解釈できる点で以前と違う動作になると思う。

let matchstr_pat = '\(' . g:howm_clink_pattern . '\s*\)\@<=\S.*\(\s*\)\@=$'
let matchstr_pat = g:howm_clink_pattern . '\s*\zs.\{-}\ze\s*$'

\zs を使った方が、\@<= を使うより高速らしいので、そちらを採用した。