#!/bin/zsh CONFIG="$HOME/.config/gclone/gclone.conf" # Detect if there is already a default user. If not, set it to quaxlyqueen. if [[ $(grep -c "default-user: " $CONFIG) -gt 0 ]]; then DEFAULT_USER=`grep "default-user: " $CONFIG | cut -d " " -f 2` else echo "default-user: quaxlyqueen" >> $CONFIG fi # Catch any invalid input. if [[ $# -eq 0 || $# -gt 2 ]]; then echo "\nImproper usage. Try:" echo "\ngclone [ { owner }/[ repo { -h | --help | --set-default [ username ] } ] ]" echo " gclone gclone" echo " gclone quaxlyqueen/gclone" echo " gclone -h" echo " gclone --help" echo " gclone --set-default quaxlyqueen" exit # Display help. elif [[ $1 == "-h" || $1 == "--help" ]]; then echo "\nMaking the Git command line tool easier to use with simpler commands." echo "User must provide an argument. This argument is in the format of:" echo " \"owner/repository\"" echo "The \"owner/\" portion may be excluded. By default, this will clone from" echo "the owner quaxlyqueen. WIP: This may be configured at \"$CONFIG\"." echo "an example is below." echo "\n\ndefault-user: quaxlyqueen" echo "\n\nUsage:" echo "gclone [ { owner }/[ repo ] ] { -h | --help | --set-default [ username ] }" echo " gclone gclone" echo " gclone quaxlyqueen/gclone" echo " gclone -h" echo " gclone --help" echo " gclone --set-default quaxlyqueen" exit # Set the default owner to clone repo's. elif [[ $1 == "--set-default" ]]; then sed -i "/default-user: /c\default-user: $2" $CONFIG echo "\nDefault user has been set to $2" exit # Clone a git repo from a specified owner. elif [[ $1 =~ "/" ]]; then git clone https://github.com/$1 # Clone a git repo from the owner. By default, this will be the owner quaxlyqueen. else git clone https://github.com/$DEFAULT_USER/$1 fi