notebook

都内でWEB系エンジニアやってます。

GitHub Cliにpecoを組み合わせる

便利に使っているGitHub CLIだがissueやprの操作は番号が必要なのでいちいち確認が面倒

リストをpecoで選択すると番号が出てくるようにしたら楽できそうということで設定した

zshの設定に下記関数を追加してタイトルなどから選択してghコマンドの入力補助を可能にした

  • .zshrc
function peco-p() {
  selected=$@
  if [ -n "$selected" ]; then
    BUFFER="${BUFFER}${selected}"
    # カーソル位置を末尾に移動
    CURSOR=$#BUFFER
  fi
}
# gh issue のリストから選択
function peco-gh-issue () {
  local issues="$(gh issue list | peco | awk -F'[ ]' 'BEGIN{FS="\t"}{print $1}')"
  peco-p ${issues}
}
zle -N peco-gh-issue
bindkey '^gi' peco-gh-issue

# gh pr のリストから選択
function peco-gh-pr () {
  local prs="$(gh pr list | peco | awk -F'[ ]' 'BEGIN{FS="\t"}{print $1}')"
  peco-p ${prs}
}
zle -N peco-gh-pr
bindkey '^gpr' peco-gh-pr

過去取り組んだものの使いまわしなので特別感はないものの多少便利になった