diff --git a/.local/bin/git-delete-branch b/.local/bin/git-delete-branch index 268a043..deaa96a 100755 --- a/.local/bin/git-delete-branch +++ b/.local/bin/git-delete-branch @@ -10,21 +10,36 @@ function delete_remote_branch() { git push origin --delete "$1" } -echo -echo "List of branches:" -echo -e "$(git branch)" -echo +function list_of_the_branches() { + echo + echo "List of branches:" + echo -e "$(git branch)" + echo +} + +BRANCH="$1" while true; do - read -p "Select branch to remove: " BRANCH + [ -z "$BRANCH" ] && { + list_of_the_branches + read -p "Select branch to remove: " BRANCH + } + echo "$BRANCH" read -p "Remove locally / remote / both [L/R/B]: " CHOOSE case $CHOOSE in - [Bb]*) - delete_local_branch "$BRANCH" - delete_remote_branch "$BRANCH" - ;; - [Ll]*) delete_local_branch "$BRANCH" ;; - [Rr]*) delete_remote_branch "$BRANCH" ;; - *) echo "Please write good answer" ;; + [Bb]*) + delete_local_branch "$BRANCH" + delete_remote_branch "$BRANCH" + unset -f BRANCH + ;; + [Ll]*) + delete_local_branch "$BRANCH" + unset -f BRANCH + ;; + [Rr]*) + delete_remote_branch "$BRANCH" + unset -f BRANCH + ;; + *) echo "Please write good answer" ;; esac done