色々するとは言っても基本的に何かで開くだけです.
きっかけ
最近ghq*1でリポジトリを管理,pecoで開くというスキーム*2が流行りだという情報を耳にしたので導入してみたところかなり快適になりました.
Windowsでも同様のことが出来るというのが嬉しくて,ついつい散らばりがちなリポジトリたちをちゃんと管理していこうという気持ちが芽生えました.
開発でメインで使用している端末はMacBook Proなのですが,せっかくAlfredがあるのだからterminal以外からでも叩けると嬉しいなという気持ちで作り始めました.
環境
今回もGoで書いています.Workflowを使うだけであればGoの環境もGlideも必要ありません.ghqは必要です.
ghq-alfred
リポジトリは以下になります.
準備
現在最新のworkflowは以下からダウンロードできます.
Release v0.2.0: Actual 'First Release' · pddg/go-ghq-alfred · GitHub
インストールしたら設定画面を開き,Workflow Environment Variable
のghq
の値を環境に合わせて設定してください*3.
また,こちらでは使用するエディタとしてVS Code,ターミナルアプリにiTermを指定していますが,環境に合わせて指定してください.
できること
ghq list -p
の結果と入力したクエリを元にリポジトリを絞り込みます.ghq {query}
で検索を掛けます.
Finderで開く
選択してEnter
またはCommand
+Enter
でFinderで開きます.
ブラウザで開く
選択してShift
+Enter
でデフォルトブラウザでそのリポジトリのページを開きます.
ターミナルで開く
選択してFn
+Enter
でターミナルで開きます.僕はiTermを指定していますが,標準のterminalでも問題なく表示できるかと思います.
エディタで開く
選択してControl
+Enter
でエディタでそのリポジトリのディレクトリを開きます.僕はVS Codeを指定していますが,大抵のエディタで可能かと思います.
Googleで検索
{user名}/{repository名}
で検索をかけます.
できないこと
- 上に書いたこと以外の全て.
既知の不具合
ghqではgit config --global --add ghq.root path/to/dir
でデフォルトのroot以外にもリポジトリの入ったディレクトリを指定し参照できます.
が,このときghqの形式,つまり{root}/{site}/{user}/{repo}
の形を取っていないディレクトリも含めることが出来てしまいます.
このWorkflowではフルパスから推察してそのリポジトリをbitbucketやgithubで開く設計になっているため,そういった形式のリポジトリは
- ブラウザで開くことが出来ません.
- Google検索も上手く機能しません.
- Alfredでの表示が
{user}/{repo}
になりません. - Finderで開く,エディタで開く,などの動作は愚直にパスを渡すだけの設定になっているため問題なく動作いたします.
今のところghqのディレクトリ形式を取らないリポジトリに対する動作を保証する予定はありません.
改善したいこと
アイコンをflaticonからお借りしているのですが,黒の部分以外が透過処理になっているため見づらい…
探してはいるのですが,あまりよい代替品を見つけられていません.何か良いアイコンをお知りでしたら,教えて頂ければ幸いです.
あと1日で書いたコードなのでバグなどがあるかと思います.見つけたらできればgithubの方まで…
まとめ
pythonやrubyでScript Filterを頑張って書くよりも,Goで書いたバイナリを叩く方が気兼ねなく色々できて良いんじゃ無いかと思います.
ghqは便利なツールなのでid:motemen氏に感謝しつつ使わせて頂いています.
Alfredはいいぞ.