diff options
author | tcasparro <tcasparr@gmail.com> | 2014-03-20 16:09:45 -0700 |
---|---|---|
committer | redsunsoft <tony@redsunsoft.com> | 2014-03-26 10:37:56 -0700 |
commit | 53323abdb1a18c7756ace473390ac6ca51660839 (patch) | |
tree | 18fa3a0d908fd9e0268cbabe080dd37fbef67e47 /themes | |
parent | ffc17b6b4d55f74b9d3786ba790b7340865e5014 (diff) | |
download | zsh-53323abdb1a18c7756ace473390ac6ca51660839.tar.gz zsh-53323abdb1a18c7756ace473390ac6ca51660839.tar.bz2 zsh-53323abdb1a18c7756ace473390ac6ca51660839.zip |
Added git mode support for merging, rebasing, and bisecting
<B> Designates Bisecting
>M< Designates Merging
>R> Designates Rebasing
Diffstat (limited to 'themes')
-rw-r--r-- | themes/agnoster.zsh-theme | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 85b846cb5..2b33c48bc 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -69,7 +69,9 @@ prompt_context() { # Git: branch/detached head, dirty status prompt_git() { - local ref dirty + local ref dirty mode repo_path + repo_path=$(git rev-parse --git-dir 2>/dev/null) + if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then dirty=$(parse_git_dirty) ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" @@ -79,6 +81,14 @@ prompt_git() { prompt_segment green black fi + if [[ -e "${repo_path}/BISECT_LOG" ]]; then + mode=" <B>" + elif [[ -e "${repo_path}/MERGE_HEAD" ]]; then + mode=" >M<" + elif [[ -e "${repo_path}/rebase" || -e "${repo_path}/rebase-apply" || -e "${repo_path}/rebase-merge" || -e "${repo_path}/../.dotest" ]]; then + mode=" >R>" + fi + setopt promptsubst autoload -Uz vcs_info @@ -90,7 +100,7 @@ prompt_git() { zstyle ':vcs_info:*' formats ' %u%c' zstyle ':vcs_info:*' actionformats ' %u%c' vcs_info - echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_%% }" + echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_%% }${mode}" fi } |