diff --git a/plugins/mercurial/mercurial.plugin.zsh b/plugins/mercurial/mercurial.plugin.zsh index caf0d9efc..de83cf927 100644 --- a/plugins/mercurial/mercurial.plugin.zsh +++ b/plugins/mercurial/mercurial.plugin.zsh @@ -12,3 +12,9 @@ alias hgp='hg push' alias hgs='hg status' # this is the 'git commit --amend' equivalent alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip' + +function current_branch_hg() { + ref=$(hg branch 2> /dev/null) || return + echo ${ref#refs/heads/} +} + diff --git a/themes/master.zsh-theme b/themes/master.zsh-theme index 83e776798..6fb7b1a1e 100644 --- a/themes/master.zsh-theme +++ b/themes/master.zsh-theme @@ -14,6 +14,7 @@ YELLOW=$fg[yellow] GREEN=$fg[green] WHITE=$fg[white] BLUE=$fg[blue] +GREY_BOLD=$fg_bold[grey] RED_BOLD=$fg_bold[red] YELLOW_BOLD=$fg_bold[yellow] GREEN_BOLD=$fg_bold[green] @@ -41,9 +42,13 @@ ZSH_THEME_GIT_PROMPT_UNTRACKED=" %{$GREEN%}unt" # Prompt format +function rprompt_char() { + git branch >/dev/null 2>/dev/null && echo "%{$fg[green]%}±%{$reset_color%}" && return + hg root >/dev/null 2>/dev/null && echo "%{$fg_bold[blue]%}☿%{$reset_color%}" && return +} -if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="green"; fi +if [ $UID -eq 0 ]; then CARETCOLOR="red"; else CARETCOLOR="white"; fi -PROMPT='%{${GREEN}%}%n%{$RESET_COLOR%}@%{${RED}%}%m%{$RESET_COLOR%}:%{${BLUE}%}%3~$(parse_git_dirty)$(git_prompt_ahead) %{${fg_bold[$CARETCOLOR]}%}%#%{${RESET_COLOR}%} ' +PROMPT=$'┌─%{${BLUE}%}%n%{$RESET_COLOR%}@%{${GREEN}%}%m%{$RESET_COLOR%}:%{${GREY_BOLD}%}%3~$(parse_git_dirty)$(git_prompt_ahead) %{${RESET_COLOR}%} \n└─%{${fg_bold[$CARETCOLOR]}%}>>=%{${RESET_COLOR}%} ' -RPROMPT='%{$RED%}$(current_branch)$(git_prompt_status)%{$RESET_COLOR%}' +RPROMPT='$(rprompt_char) %{$RED%}$(current_branch)$(current_branch_hg)$(git_prompt_status)%{$RESET_COLOR%}'