ghq の v1 でなくなった look コマンドをデフォルメして復活させる

すごい個人的な感情なんだけど、 ghq look というコマンドがとても好きだった。機能というよりも名前が好き。

だけど、v1 で ghq は look サブコマンドを廃止しました。

ghqで仕事用と趣味用でディレクトリ分けしてリポジトリ管理しやすくなりました | おそらくはそれさえも平凡な日々

この判断自体に不満はありません。確かに作業用のディレクトリ移動するのは乱用とも言えるものでした。

とはいえ、個人的には look という名前が好きなので、できれば look という名前を継続したいです。というわけで、擬似的に look コマンドを定義しました。

ghq() {
    if [[ $1 == "look" ]]; then
        if [[ -n $2 ]]; then
            command cd $(ghq list --full-path --exact $2)
        else
            command cd $(ghq  list --full-path | peco)
        fi
    else
        command ghq "$@"
    fi
}

下記を参考にしました。

unix - Bash: Spaces in alias name - Super User

ghq look で止まったときは ghq list の出力から peco コマンドでインクリメンタルサーチします。もちろん名前を指定すれば、そのプロジェクトに移動できます。

以上です。