#!/bin/bash

# shellcheck disable=2162

function delete_local_branch() {
    git branch -D "$1"
}

function delete_remote_branch() {
    git push origin --delete "$1"
}

function list_of_the_branches() {
    echo
    echo "List of branches:"
    echo -e "$(git branch)"
    echo
}

BRANCH="$1"

while true; do
    [ -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"
            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