Wagomu no Akibako

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


この​記事は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を​作成しようと​思い、​ディレクトリだけ​作成しました。
もし完成した​ときには​記事に​するかもしれません。