Add remote argument completions
This was copied from _git-flow
This commit is contained in:
		
							parent
							
								
									4ed5855317
								
							
						
					
					
						commit
						d5674edf44
					
				
							
								
								
									
										33
									
								
								src/_heroku
								
								
								
								
							
							
						
						
									
										33
									
								
								src/_heroku
								
								
								
								
							|  | @ -163,9 +163,40 @@ case "$words[1]" in | ||||||
| _arguments \ | _arguments \ | ||||||
|   $_command_args \ |   $_command_args \ | ||||||
|   '(-a|--app)'{-a,--app}'[the app name]' \ |   '(-a|--app)'{-a,--app}'[the app name]' \ | ||||||
|   '(-r|--remote)'{-r,--remote}'[the git remote name]' \ |   '(-r|--remote)'{-r,--remote}'[the git remote name]:remote:->remotes' \ | ||||||
|   &&  return 0 |   &&  return 0 | ||||||
| 
 | 
 | ||||||
|  | __git_remotes () { | ||||||
|  | 	local expl gitdir remotes | ||||||
|  | 
 | ||||||
|  | 	gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null) | ||||||
|  | 	__git_command_successful || return | ||||||
|  | 
 | ||||||
|  | 	remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]}) | ||||||
|  | 	__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 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | __git_command_successful () { | ||||||
|  | 	if (( ${#pipestatus:#0} > 0 )); then | ||||||
|  | 		_message 'not a git repository' | ||||||
|  | 		return 1 | ||||||
|  | 	fi | ||||||
|  | 	return 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | case $state in | ||||||
|  |   (remotes) | ||||||
|  |    __git_remotes && return 0 | ||||||
|  |   ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
| # Local Variables: | # Local Variables: | ||||||
| # mode: Shell-Script | # mode: Shell-Script | ||||||
| # sh-indentation: 2 | # sh-indentation: 2 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue