summaryrefslogtreecommitdiff
path: root/plugins/github
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/github')
-rw-r--r--plugins/github/github.plugin.zsh18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh
index 197e86a48..66a10cfdb 100644
--- a/plugins/github/github.plugin.zsh
+++ b/plugins/github/github.plugin.zsh
@@ -1,5 +1,22 @@
# Setup hub function for git, if it is available; http://github.com/defunkt/hub
if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then
+ # Autoload _git completion functions
+ if declare -f _git > /dev/null; then
+ _git
+ fi
+
+ if declare -f _git_commands > /dev/null; then
+ _hub_commands=(
+ 'alias:show shell instructions for wrapping git'
+ 'pull-request:open a pull request on GitHub'
+ 'fork:fork origin repo on GitHub'
+ 'create:create new repo on GitHub for the current project'
+ 'browse:browse the project on GitHub'
+ 'compare:open GitHub compare view'
+ )
+ # Extend the '_git_commands' function with hub commands
+ eval "$(declare -f _git_commands | sed -e 's/base_commands=(/base_commands=(${_hub_commands} /')"
+ fi
# eval `hub alias -s zsh`
function git(){
if ! (( $+_has_working_hub )); then
@@ -61,6 +78,7 @@ exist_gh() { # [DIRECTORY]
cd "$1"
name=$( git config user.name )
ghuser=$( git config github.user )
+ repo=$1
git remote add origin git@github.com:${ghuser}/${repo}.git
git push -u origin master