diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/git-remote-branch |
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/git-remote-branch')
-rw-r--r-- | .oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh b/.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh new file mode 100644 index 0000000..6c5ab8f --- /dev/null +++ b/.oh-my-zsh/plugins/git-remote-branch/git-remote-branch.plugin.zsh @@ -0,0 +1,19 @@ +_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 + remotes=`git remote | tr '\n' '|' | sed "s/\|$//g"` + compadd `git branch -r | grep -v HEAD | sed "s/$remotes\///" | sed "s/ //g"` + elif (( CURRENT == 4 )); then + # third arg: remote name + compadd `git remote` + fi + else; + _files + fi +} +compdef _git_remote_branch grb |