ghq + peco on fishデビューしました
ghq使ってないとか人生損してるということを年末年始に某ブログで言われていたので入れてたの思い出して、入れてみたら思ったより便利だったのでgoの調査するにあたって全部goのディレクトリ構成に移した。
何ができるようになったのか
ghqとpecoを組みあわせると何ができるようになるのかとかは別のブログでもあるので、雑に言うとghqで管理しているリポジトリをpecoで絞り込んでそのディレクトリにビュンと移動できる
導入に当たって苦労したこと
ghqはgoのリポジトリ管理のディレクトリ構造でgithubからいい感じにプロジェクトをcloneしてくれる
そもそもプロジェクトを全部~/develop
にプロジェクト名でディレクトリ作るっていうgoの階層が浅くなっただけみたいな雑な管理をしていたので特に苦労しなかった。
結局~/develop
をGOPATH
に設定して、$GOPATH/src/local
に元々あったローカルにだけあるコード群をmvした
唯一ちょっと躓いた点としてはghqとpecoを組み合わせて使用する関数の定義がよくわからなかった。最終的に以下の感じで設定した。
function repo_peco ghq list | peco | read select_dir if [ $select_dir ] cd (ghq root)/$select_dir else echo "Not selected project" end end
導入後
ショートカットキーをbindしたのでショートカットを押せばpecoが起動して、選んだプロジェクトにcd
できる
割と便利だけどghq list
で出てくるのはghq root
以下のgitで管理されているものなので、ghqでインストールしていない自分で作ったプロジェクトが出てこないのだとgit init
を実行し忘れてるのだと思う
導入難しくないし、割と便利だったのでみんなが記事書いてるわけですね