stashを検索するGitHub CLI Extensionを書いた

一年前stashを検索するCLIツールをRustで書いたのだが、正直実用に耐えるものではなかったのでどこかで作り直したいと思っていた。そんなことを考えているうちに世の中にGitHub CLI Extensionという概念ができていたので、ちょうどいいと思って書いた。

github.com

f:id:sasa5740:20211024112645g:plain

基本 git stash list -G<regexp>をfzfにバインドしてpreviewgit stash show -pしているだけなのだが、grepと違ってgit stash list -G は空文字のクエリを投げると何にもマッチせず出力しないという挙動をするため、起動時のクエリなしの時に表示するリストをいい感じにしたり、クエリを入力したけどマッチしてない時とクエリを入力したのにマッチした時2つのケースをサポートしたりするのがまぁまぁ面倒だった。

previewではgit stash show -p -G<query>しているのだけど、マッチした文字が含まれるファイルが表示されるという方式なので行数が多いファイルだとあんまりgrepしている感じがでない、ハイライトしたりいい感じにpreviewする方法はまだありそう。 GitHub CLIから簡単にインストールできるのでぜひ使ってみてください。