diff --git a/via.zsh-theme b/via.zsh-theme index 53f1f09fac876b31e1e85458a6054074a3b955fc..79d32e5bbb3a681a608ce4a3feb241c509ba5fa9 100644 --- a/via.zsh-theme +++ b/via.zsh-theme @@ -22,8 +22,19 @@ local current_dir="%{$fg_bold[green]%}%~%{$reset_color%}" PROMPT='${clock} ${user_host} ${current_dir}${eol} ' # Display git info -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[magenta]%}(%{$fg[white]%}git%{$fg[magenta]%})%{$fg[yellow]%}-%{$fg[magenta]%}[%{$fg[green]%}" +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[magenta]%}(%{$fg[white]%}git%{$fg[magenta]%})%{$fg[yellow]%}-%{$fg[magenta]%}[%{$reset_color%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[magenta]%}]%{$reset_color%}" - -RPROMPT='$(git_prompt_info)' +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}" + +custom_git_prompt_info () { + local ref + if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]] + then + ref=$(command git symbolic-ref HEAD 2> /dev/null) || ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0 + echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(parse_git_dirty)${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX" + fi +} + +RPROMPT='$(custom_git_prompt_info)'