summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/github/github.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/github/github.plugin.zsh')
-rw-r--r--oh-my-zsh/plugins/github/github.plugin.zsh77
1 files changed, 77 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/github/github.plugin.zsh b/oh-my-zsh/plugins/github/github.plugin.zsh
new file mode 100644
index 0000000..79114ff
--- /dev/null
+++ b/oh-my-zsh/plugins/github/github.plugin.zsh
@@ -0,0 +1,77 @@
+# Set up hub wrapper for git, if it is available; https://github.com/github/hub
+if (( $+commands[hub] )); then
+ alias git=hub
+fi
+
+# Functions #################################################################
+
+# Based on https://github.com/dbb/githome/blob/master/.config/zsh/functions
+
+# empty_gh <NAME_OF_REPO>
+#
+# Use this when creating a new repo from scratch.
+# Creates a new repo with a blank README.md in it and pushes it up to GitHub.
+empty_gh() { # [NAME_OF_REPO]
+ emulate -L zsh
+ local repo=$1
+
+ mkdir "$repo"
+ touch "$repo/README.md"
+ new_gh "$repo"
+}
+
+# new_gh [DIRECTORY]
+#
+# Use this when you have a directory that is not yet set up for git.
+# This function will add all non-hidden files to git.
+new_gh() { # [DIRECTORY]
+ emulate -L zsh
+ local repo="$1"
+ cd "$repo" \
+ || return
+
+ git init \
+ || return
+ # add all non-dot files
+ print '.*'"\n"'*~' >> .gitignore
+ git add [^.]* \
+ || return
+ git add -f .gitignore \
+ || return
+ git commit -m 'Initial commit.' \
+ || return
+ hub create \
+ || return
+ git push -u origin master \
+ || return
+}
+
+# exist_gh [DIRECTORY]
+#
+# Use this when you have a git repo that's ready to go and you want to add it
+# to your GitHub.
+exist_gh() { # [DIRECTORY]
+ emulate -L zsh
+ local repo=$1
+ cd "$repo"
+
+ hub create \
+ || return
+ git push -u origin master
+}
+
+# git.io "GitHub URL"
+#
+# Shorten GitHub url, example:
+# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
+# source: https://github.com/nvogel/dotzsh
+# documentation: https://github.com/blog/985-git-io-github-url-shortener
+#
+git.io() {
+ # emulate -L zsh
+ # curl -i -s https://git.io -F "url=$1" | grep "Location" | cut -f 2 -d " "
+ print -u2 ${(%):-"%F{yellow}%BThe \`git.io\` is deprecated.%b\nView the announcement made by GitHub: https://github.blog/changelog/2022-01-11-git-io-no-longer-accepts-new-urls/%f"}
+}
+
+# End Functions #############################################################
+