|
|
@ -15,10 +15,16 @@ require jq |
|
|
|
require gh |
|
|
|
require gh |
|
|
|
require fzf |
|
|
|
require fzf |
|
|
|
|
|
|
|
|
|
|
|
prd="$(gh pr list --json 'number,title' | jq -r '.[]| [.number, .title] | @sh' | column -t -s"'" | fzf)" |
|
|
|
# get the list of open pull requests |
|
|
|
[ -z "$prd" ] && echo "No PR selected" && exit 0 |
|
|
|
prs=$(gh pr list --json number,title --limit 100 | jq -r '.[] | "\(.number) \(.title)"') |
|
|
|
|
|
|
|
|
|
|
|
pr_id="$(echo "$prd" | awk '{print $1}')" |
|
|
|
# select a pr |
|
|
|
|
|
|
|
pr=$(echo "$prs" | fzf --prompt="Select a PR: " --height=50% --reverse --preview="gh pr view {1} --json 'files' | jq -r '.files|map(.path)|.[]'") |
|
|
|
|
|
|
|
|
|
|
|
gh pr view "$pr_id" --json "files" | jq -r '.files|map(.path)|.[]' |
|
|
|
# get the pr number |
|
|
|
gh pr checkout "$pr_id" |
|
|
|
pr_number=$(echo "$pr" | awk '{print $1}') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ -z "$pr_number" ] && echo "🛑 No PR selected" && exit 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "Checkout PR: $pr_number" |
|
|
|
|
|
|
|
gh pr checkout "$pr_number" |
|
|
|