From 4017a0d37d659fd29158c345536af05c014333f8 Mon Sep 17 00:00:00 2001 From: jc <46619361+juancwu@users.noreply.github.com> Date: Tue, 7 Jan 2025 19:04:09 -0500 Subject: [PATCH] (zsh) update zshrc --- zsh/.zshrc | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/zsh/.zshrc b/zsh/.zshrc index cc8cd8a..4f2eb7e 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -97,20 +97,36 @@ fcd() { # clone repository # setopt EXTENDED_GLOB cl() { + if [[ $# -eq 0 ]]; then + # help text + echo "Usage: cl REPOSITORY_NAME" + echo "Usage: cl REPOSITORY_URL" + echo "Usage: cl (hub|lab) REPOSITORY_NAME" + echo "Usage: cl (hub|lab) NAMESPACE REPOSITORY_NAME" + return 0 + fi + local url=$1 local ghq_dir="$HOME/ghq" + local namespace="" + local repository_name="" # extract project name if [[ $url =~ git@git(lab|hub)\.com:([^/]+)/([^/]+)\.git ]]; then - local namespace="${match[2]}" - local repository_name="${match[3]}" + namespace="${match[2]}" + repository_name="${match[3]}" elif [[ $url =~ https://git(lab|hub)\.com/([^/]+)/([^/]+)\.git ]]; then - local namespace="${match[2]}" - local repository_name="${match[3]}" + namespace="${match[2]}" + repository_name="${match[3]}" elif [[ $# -ne 0 ]]; then - local domain=$1 - local namespace="juancwu" - local repository_name=$2 + repository_name=$1 + namespace="juancwu" + local domain="hub" + + if [[ $# -eq 2 ]]; then + domain=$1 + repository_name=$2 + fi if [[ $# -eq 3 ]]; then domain=$1 @@ -118,7 +134,7 @@ cl() { repository_name=$3 fi - local url="git@git$domain.com:$namespace/$repository_name.git" + url="git@git$domain.com:$namespace/$repository_name.git" else echo "Invalid URL format" return 1