🎄

VimでGitHubの草を表示するコマンドを作った

2021/12/03に公開

以前、GitHub CLI extensionとしてこちらのgh graphというのを作成しました。

https://zenn.dev/kawarimidoll/articles/75430b40622e7c

gh extension install kawarimidoll/gh-graphで導入し、gh graphで使用することができます。

今回はこれをVimから呼び出すコマンドを作ってみました。

https://twitter.com/KawarimiDoll/status/1466581373826011141

Vimと書いていますが、Neovimでも動きます(筆者の環境はNeovimです)。

GhGraphコマンド

要求事項

GitHub CLI(gh)が必要です。
https://cli.github.com/

これをVim内部で使用するため、vim-floatermを使います。お好きなプラグインマネージャで読み込んでください。
https://github.com/voldikss/vim-floaterm

導入

設定ファイルに以下のコマンドを定義してください。

.vimrc or init.vim
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 graphgithub-contributions-api.deno.devを呼び出すコマンドです。

https://zenn.dev/kawarimidoll/articles/b573f617a51c0b

GitHub CLIを使わない場合、GhGraphコマンドの'gh'以降をcurl https://github-contributions-api.deno.dev/kawarimidoll.term(ユーザー名は調整してください)に書き換えれば動作可能です。

おわりに

過去に自作したツールをVimで呼び出すことができました。

コマンドでの-bangの扱いは、以下の記事でコマンドを作ったときの知識が役に立ちました。
https://zenn.dev/kawarimidoll/articles/d371abbd46b65b#vim%2Fneovim連携

学んだことを組み合わせていくと、実績が積み上がっている感覚があって良いですね。
今後もいろいろと作って遊んでいきたいと思います。

Discussion