Sorin Ionescu
13 years ago
3 changed files with 53 additions and 4 deletions
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
#compdef git-hub |
||||
#autoload |
||||
|
||||
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 -a \ |
||||
| grep "remotes/${remote}" \ |
||||
| sed -e 's/[ \*]*//g' -e "s:remotes/${remote}/::g" |
||||
)) |
||||
_describe -t branch 'branches' branches && ret=0 |
||||
;; |
||||
esac |
||||
|
||||
return $ret |
Loading…
Reference in new issue