🌟
ddu.vimのkind作成備忘録
はじめに
本記事はVim/Neovimのpluginであるdenopsで書かれたddu.vimの拡張plugin,ddu-kind-vim_typeを作成した際の備忘録です.ddu.vimの拡張pluginの作成ハードルの低さをお伝えできればと思います.
動機
他要素も作ってみたくなったので作りました。
結果
上のkindを使うsourceとしてvimの変数や関数を拾ってくるものも作りました.
ddu.vimと拡張方法
作者様が書かれた記事がかなりわかりやすいので本格的に作成したい場合はこちらを参照してください.
kind開発時に考えるべきこと
kindは各itemを使って実現したいこと
開発者はsourceの各itemについて実現したいことを書くだけです.実際に本拡張pluginのsetcmdline
アクションはユーザが指定したitemをコマンドラインにコピーしています.previewもcontentsに値を渡しているだけです.
既存のsourceを使ってkindを試験したい場合はddu-filter-converter_kind
を用いると楽です.
kind開発時に考えるべき”でない”こと
書くか書かないかで迷うくらいなら書いたほうがいい
ddu#custom#action
という関数がddu.vim
に用意されており、エンドユーザが自由にactionを追加できます。なので過不足を考えるより機能モリモリにしたほうがエンドユーザ的には嬉しいのではないかと思います。
まとめ
ddu.vimのインタフェースは洗礼されていてきれいに分割されているのでddu.vimのkindはItemをどう使いたいかだけを考えればいいというすごいpluginなので使いましょう.
Discussion