VimでGitHubの草を表示するコマンドを作った
以前、GitHub CLI extensionとしてこちらのgh graphというのを作成しました。
gh extension install kawarimidoll/gh-graphで導入し、gh graphで使用することができます。
今回はこれをVimから呼び出すコマンドを作ってみました。
Vimと書いていますが、Neovimでも動きます(筆者の環境はNeovimです)。
GhGraphコマンド
要求事項
GitHub CLI(gh)が必要です。
これをVim内部で使用するため、vim-floatermを使います。お好きなプラグインマネージャで読み込んでください。
導入
設定ファイルに以下のコマンドを定義してください。
command! -bang GhGraph execute 'FloatermNew' '--title=contributions'
\ '--height=13' '--width=55'
\ 'gh' 'graph' (<bang>0 ? '--scheme=random' : '')
本体はFloatermNew gh graphのみなのですが、表示サイズがちょうどよくなるようにオプションをつけています。このあたりはお好みに合わせて調整が可能です。
つかいかた
GhGraphでfloatermが開き、GitHubの草を表示します。通常は上で添付したツイートのように、緑の草で表示されます。
-bangによって--scheme=randomを付加するので、GhGraph!とすると色がランダムになります。

ghを使わない場合
gh graphはgithub-contributions-api.deno.devを呼び出すコマンドです。
GitHub CLIを使わない場合、GhGraphコマンドの'gh'以降をcurl https://github-contributions-api.deno.dev/kawarimidoll.term(ユーザー名は調整してください)に書き換えれば動作可能です。
おわりに
過去に自作したツールをVimで呼び出すことができました。
コマンドでの-bangの扱いは、以下の記事でコマンドを作ったときの知識が役に立ちました。
学んだことを組み合わせていくと、実績が積み上がっている感覚があって良いですね。
今後もいろいろと作って遊んでいきたいと思います。
Discussion