最近unite.vimのコードを読んでる

最近またvim熱が再発している。再発するほど熱があったかどうかは置いておいて。

昨日unite.vimをいじってたらなんか挙動が変だったところがあったのでコード読んで修正パッチを送ったらshougoさんが取り込んでくれた。if ~ endifを含めてたった3行のパッチだったけど。
オープンソースのコードにパッチ送って取り込まれたことは実は初めてでちょっと嬉しかった。

記念 pull request https://github.com/Shougo/unite.vim/pull/102

前もどっかの巨大プロジェクトのコードにパッチじゃないけど追加機能を実装してpull request送ったことあったんだけどなぜか色々書類出さないと取り込めないと言われて面倒くさかったので放置してしまったりしてて、実際に反映されることはなかった。


まぁvimscriptなんてそんなしょっちゅう書いてるわけでも書き慣れてるわけでもないので解読してコードいじってhelp読んでうーんvimscript謎だわと思いながら書いてたら朝の5時になってて寝坊した。


で、懲りずに今日もunite.vimのcustom_filtersを書いてました。
どんなcustom_filtersを書いたのかというとデフォルトだとglobパターンのmatcher(matcher_glob)なので、自分はcommand-Tみたいに先頭部分一致みたいに適当に文字列を打っていっても引っかかるmatcherが欲しいと思ってそういうのを作った。

https://github.com/natsumesou/unite-flexmatcher

まぁやってることは入力された文字列が'abc'だとしたら'a.*b.*c.*'として正規表現をかけてるだけだけど。

多分便利なので使うといいと思います。
バッファのリストが巨大になる人とかおすすめです。
ちなみにすでにそういうmatcherがあったり実はunite.vimの中に入ってたりするかもしれませんが探してないです。


今日も寝坊する可能性が大である。