Merge pull request #128 from pcasaretto/add-remote-argument-to-heroku

Add 'remote' argument to heroku
This commit is contained in:
Julien Nicoulaud 2013-04-11 15:02:05 -07:00
commit d516916824
1 changed files with 33 additions and 1 deletions

View File

@ -162,9 +162,41 @@ case "$words[1]" in
_arguments \
$_command_args \
'(--app)--app[the app name]' \
'(-a|--app)'{-a,--app}'[the app name]' \
'(-r|--remote)'{-r,--remote}'[the git remote name]:remote:->remotes' \
&& return 0
__heroku_git_remotes () {
local expl gitdir remotes
gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null)
__heroku_git_command_successful || return
remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]})
__heroku_git_command_successful || return
# TODO: Should combine the two instead of either or.
if (( $#remotes > 0 )); then
_wanted remotes expl remote compadd $* - $remotes
else
_wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*"
fi
}
__heroku_git_command_successful () {
if (( ${#pipestatus:#0} > 0 )); then
_message 'not a git repository'
return 1
fi
return 0
}
case $state in
(remotes)
__heroku_git_remotes && return 0
;;
esac
# Local Variables:
# mode: Shell-Script
# sh-indentation: 2