diff options
Diffstat (limited to 'plugins/git-remote-branch')
| -rw-r--r-- | plugins/git-remote-branch/git-remote-branch.plugin.zsh | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/plugins/git-remote-branch/git-remote-branch.plugin.zsh b/plugins/git-remote-branch/git-remote-branch.plugin.zsh new file mode 100644 index 000000000..ff98cbf87 --- /dev/null +++ b/plugins/git-remote-branch/git-remote-branch.plugin.zsh @@ -0,0 +1,18 @@ +_git_remote_branch() { +  ref=$(git symbolic-ref HEAD 2> /dev/null) +  if [[ -n $ref ]]; then +    if (( CURRENT == 2 )); then +      # first arg: operation +      compadd create publish rename delete track +    elif (( CURRENT == 3 )); then +      # second arg: remote branch name +      compadd `git branch -r | grep -v HEAD | sed "s/.*\///" | sed "s/ //g"` +    elif (( CURRENT == 4 )); then +      # third arg: remote name +      compadd `git remote` +    fi +  else; +    _files +  fi +} +compdef _git_remote_branch grb | 
