diff --git a/site-modules/core/files/oh-my-zsh/custom/prr.zsh b/site-modules/core/files/oh-my-zsh/custom/prr.zsh index 08b18f7..fd10a69 100644 --- a/site-modules/core/files/oh-my-zsh/custom/prr.zsh +++ b/site-modules/core/files/oh-my-zsh/custom/prr.zsh @@ -8,6 +8,11 @@ function get_project() { # Gets the PR number from the current git repo and branch. function get_pr_number() { + if [[ ! -z $PRR_NUMBER ]]; then + echo "$PRR_NUMBER" + return + fi + gh pr view --json=number --jq='.number' } @@ -15,8 +20,21 @@ alias prr-get='prr get "$(get_project)"/"$(get_pr_number)"' alias prr-submit='prr submit "$(get_project)"/"$(get_pr_number)"' alias prr-edit='$EDITOR ~/.local/share/prr/$(get_project)/$(get_pr_number).prr' + function prr-review() { - gh pr checkout "$1" + # Check to see if we are in a git repo, if we are then we want to checkout + # the branch of the PR. + if git rev-parse --is-inside-work-tree &>/dev/null; then + gh pr checkout "$1" + fi + + # Check to see if we are in a sapling directory, if we are then not only do + # we need to checkout the PR branch but we also need to export the PPR_NUMBER + if \sl root &>/dev/null; then + export PRR_NUMBER="$(gh --repo "$(get_project)" pr view --json=number --jq='.number' $1)" + \sl goto "remote/$1" + fi + prr-get prr-edit }