diff options
Diffstat (limited to 'users/riking/dotfiles/fish/functions/gh-clone.fish')
-rw-r--r-- | users/riking/dotfiles/fish/functions/gh-clone.fish | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/users/riking/dotfiles/fish/functions/gh-clone.fish b/users/riking/dotfiles/fish/functions/gh-clone.fish new file mode 100644 index 000000000000..109ec353f6db --- /dev/null +++ b/users/riking/dotfiles/fish/functions/gh-clone.fish @@ -0,0 +1,18 @@ +function gh-clone --description 'Clone and CD to a github repository' + if test (count $argv) -eq 1 + set user (string split "/" -- $argv[1])[1] + set repo (string split "/" -- $argv[1])[2] + else + set user $argv[1] + set repo $argv[2] + end + + if test -d "$HOME/go/src/github.com/$user/$repo" + cd "$HOME/go/src/github.com/$user/$repo" + return 0 + end + mkdir -p "$HOME/go/src/github.com/$user" + cd "$HOME/go/src/github.com/$user" + git clone "git@github.com:$user/$repo.git" + cd "$HOME/go/src/github.com/$user/$repo" +end |