url=$(git remote get-url origin) host=$(printf '%s\n' "$url" | sed -E 's#^[a-z+]+://##; s#^[^@/]*@##; s#[:/].*$##') path=$(printf '%s\n' "$url" | sed -E 's#^[a-z+]+://##; s#^[^@/]*@##; s#^[^:/]+(:[0-9]+)?[:/]##; s#/+$##; s#\.git$##') case "$host" in github.com) provider=github ;; gitlab.com) provider=gitlab ;; *) provider= ;; esac echo "$provider $path"