1. flog: go to git branches I had checked out in the past quickly
2. pr: preview and check out PRs I've been assigned to review
flog () {
branch="$(
git branch --sort=-committerdate --format="%(committerdate:relative)%09%(refname:short)%09%(subject)" \
| column -ts $'\t' \
| fzf \
| sed 's/.*ago \+\([^ ]*\) .*/\1/'
)"
git co $branch || (
echo -n "git co $branch" | pbcopy
)
}
errcho() {
echo "$@" 1>&2
}
jq_query=$(cat "$tmpFile"
preview_command="\
jq -r '.[\"{1}\"].body' $tmpFile \
| pandoc -f gfm -t markdown \
| glow -s light -
"
pr_number=$(
jq -r \
'to_entries | map(.value.line) | join("
")' \
"$tmpFile" \
| column -t -s: \
| fzf \
--ansi \
--delimiter=' ' \
--preview="$preview_command" \
--preview-window=up:80% \
| grep -o '^[0-9]\+'
)
if [ -n "$pr_number" ]; then
errcho "checking out #$pr_number"
gh pr checkout "$pr_number" && gh pr view --web "$pr_number" && git pull || echo -e "gh pr checkout $pr_number && gh pr view --web $pr_number && git pull"
else
errcho "canceled"
fi
}