ghq を ghq get と ghq list を peco に渡して cd することにしか使ってないので、このくらいならシェルスクリプトでできる気がしてやってみた。
~/.zshrc
に次の内容を書く。
ghq-get() {
git clone "git@github.com:$1.git" "$HOME/github_repos/$1"
}
function peco-ghq-fu () {
local selected_dir=$(find $HOME/github_repos/ -maxdepth 2 -mindepth 2 | peco --query "$LBUFFER")
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-ghq-fu
bindkey '^g' peco-ghq-fu
次のコマンドで github からリポジトリを clone する。
$ ghq-get motemen/ghq
Ctrl-g
で peco にリポジトリのディレクトリを表示して cd できる。