輪ごむの空き箱

はじめてプラグインを作った


この記事はVim駅伝2023年12月20日(金)の記事です。

前回の記事は ぺりー さんの「VimをDebugする」という記事でした。

次回の記事は 12月25日(月) に投稿される予定です。


vimを使い始めて2年。はじめて作成したプラグインはddu-sourceでした。

はじめてプラグインを作りました。せっかくの機会なのでvim駅伝で紹介しようと思います。
作ったものはddu.vimの拡張プラグインのddu-source-patch_localです。

モチベーション

ddu.vimを使うまでtelescope.nvimに大変お世話になっていました。
因みに、、、乗り換え理由は単純にddu.vimが気になったからであり、telescope.nvimに問題があったからではありません。
telescope.nvimでは、:Telescopeと実行することで同梱されている、あるいは追加したソースが全て表示されます。この機能を気に入って使っていたのですが、それと同時に「使わないソースが大量に並んでいるのは勿体ないな…」と感じていました。
vim-jpでddu.vimについての話を聞いたり、他人のdotfilesを読んだり、ddu.vimのドキュメントを読んでいるなかでddu#custom#patch_local()関数で定義したものがddu#custom#get_local()関数で取得できることを知りました。これによって、自分の実現したかった「使わないソースが大量に並んでいる」状態を回避可能であることが分かりました。しかし、githubのddu-sourceのトピックを確認したところ目的のソースが見つかりませんでした。これは良いだ機会と思い作成に至ったわけです。

作ってみて

ソースコードを見てみると非常に規模の小さいプラグインであることが分かると思います。しかし、自分のNeovimの知識不足やdduのsourceの書き方への理解力が低いことを起因としてソース作成は少し時間がかかってしまいした。色々試行錯誤しながら作ったので、出来上がったソースが自分の思うように動いたときの感動は大きいものでした。
ddu-source作りはddu.vimの拡張プラグインなため、初めてのプラグイン作成の題材としては良い物を選べたのではないかと思います。

おわりに

楽しかったです。

おわりに2

次は登録しているキーマッピングのソースであるddu-source-keymapsを作成しようと思い、ディレクトリだけ作成しました。
もし完成したときには記事にするかもしれません。