🌟

ddu.vimのconverter作成備忘録

2023/06/21に公開

はじめに

本記事はVim/Neovimのpluginであるdenopsで書かれたddu.vimの拡張plugin,ddu-filter-converter_kindを作成した際の備忘録です.
ddu.vimの拡張pluginの作成ハードルの低さをお伝えできればと思います.

https://github.com/neovim/neovim

https://github.com/vim-denops/denops.vim

https://github.com/Shougo/ddu.vim

動機

動機は以下の3つです

  1. ddu-source-urlのkindの候補としてddu-kind-fileddu-kind-urlがあるが、ユーザがkindを変更するのが大変
  2. kindだけを試作したい人はsourceを一緒につくるか既存のsourceのkindをかきかえるかしかなさそうだけどユーザーがやることじゃなさそう
  3. 前回の記事のネタがなかった

結果

https://github.com/flow6852/ddu-filter-converter_kind

ddu.vimと拡張方法

作者様が書かれた記事がかなりわかりやすいので本格的に作成したい場合はこちらを参照してください.

https://zenn.dev/shougo/articles/ddu-vim-beta

https://zenn.dev/shougo/articles/ddu-vim-make-plugins

conveter開発時に考えるとよいこと

生成後のitemで変更したいものを変える

ddu.vim起動中にitemを選んでechom ddu#ui#get_item()をした結果で変更したい要素を変更するだけです.
ddu-filter-converter_kindではkindを変更し、action中の要素でコピーしたいものをコピーしています.

まとめ

ddu.vimのインタフェースは洗礼されていてきれいに分割されているのでddu.vimのfilterは生成済みのitemを加工することだけ考えればいいいいというすごいpluginなので使いましょう.

GitHubで編集を提案

Discussion