#compdef git-hub #autoload # # Completes git-hub. # # Authors: # Sorin Ionescu # local state remotes remote branches ret=1 _arguments -C -s -S \ '1::args:->remote' \ '2::args:->branch' && ret=0 case "$state" in (remote) remotes=($( git config -l \ | grep 'remote\.[^.]*\.url' \ | cut -d'.' -f2)) _describe -t branch 'remotes' remotes && ret=0 ;; (branch) remote="$words[(($CURRENT - 1))]" branches=($( git branch -r \ | grep "${remote}/" \ | sed \ -e "/${remote}\/HEAD -> ${remote}/d" \ -e "s/^[[:space:]]*${remote}\///g" )) _describe -t branch 'branches' branches && ret=0 ;; esac return $ret