ghqのv1がリリースされたことに伴い、
ghq look
が使えなくなってしまったので、なんとかしました。
やりかた
-
ghq get --look
を使う - ↓のShellscriptを
.bashrc
などに突っ込んで今まで通りghq look
を使う
ghq() {
if [[ $1 == "look" ]]; then
local repo_path
repo_path=$(command ghq list --full-path --exact $2)
cd ${repo_path}
else
command ghq "$@"
fi
}
1はタイプ数が多くてめんどいのと、公式でディレクトリの移動はcd
を使用することを推奨していたので、2のshellscriptにしました。
蛇足1
ghq look
はこちらにある通り
一時的なコードのチラ見のための機能で、ディレクトリの移動に使うものでは無い とのこと。
(全く知らなかった )
ghq look はあくまでも「一時的なソースコードのチラ見」のための機能なのですが、これを作業ディレクトリの移動に使い、それゆえに意図せぬ挙動が起こってハマっているケースが散見されます。これはもちろん利用者側の問題ではなく、アナウンス不足であり、そのように誤解されやすい機能であるから故に、削除したいという意図です。
なんで別のshellプロセスが立ち上がるんだろうなーとは思ってたのですが、
ghq look は子プロセスで別のシェルプロセスを起動して、ディレクトリを移動したように見せかけています。どうしてもそのようにするしかない。
ということだったんですね
蛇足2
ghq look
は使えなくなってしまいましたが、v1になって、
-
ghq list
の高速化 -
ghq create
コマンドの追加 -
ghq.<repo_root>.root
で、レポジトリ(user, organization)ごとのクローン先を変更可能
など、色々Improveがあるということなので、使っている人は更新したほうが良いと思われます
蛇足3
レポジトリがいっぱいあって移動が大変な方は、こちらにある通り、pecoや、fzfなどと連携させたほうが良いと思われます