From 36ae04d8d36d6f718a1838e27ef74de6a17b5efd Mon Sep 17 00:00:00 2001 From: Ayaz Badouraly <ayaz.badouraly@via.ecp.fr> Date: Sun, 29 May 2016 12:51:12 +0200 Subject: [PATCH] Changing display according to git status --- via.zsh-theme | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/via.zsh-theme b/via.zsh-theme index 53f1f09..79d32e5 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)' -- GitLab