function gsa # ─< Prompt the user to enter the repository URL to add as a submodule >──────────────────── echo "-- enter the repository to add as a submodule --" read -l repo # ─< Prompt the user to enter the branch to checkout (e.g., main, master) >───────────────── echo "-- enter the branch to checkout (main/master..) --" read -l branch # ─< Prompt the user to enter the relative path where the submodule will be cloned >──────── # ─< Advise not to use the leading / or ./ >──────────────────────────────────────────────── echo "-- enter the relative path, where the submodule will be cloned to. (don't use fist / or ./) --" read -l path # ─< Ask the user for confirmation if the constructed command looks correct >─────────────── echo "-- does this command look right to you? [y/n] --" echo "git submodule add --branch $branch --name $path $repo" read -l comm # ─< Switch statement to handle the user's confirmation input >───────────────────────────── switch $comm # ─< If the user inputs 'y' or 'Y', execute the git submodule add command >───────────────── case 'y' 'Y' git submodule add --branch $branch --name $path $repo # ─< If the user inputs 'n' or 'N', notify them to try again >────────────────────────────── case 'n' 'N' echo "-- all right, just try again :) --" end end