From e4eb1a371ca0ef6ebb7ced6b8c3d98f77eb5d263 Mon Sep 17 00:00:00 2001 From: Romain Failliot Date: Sun, 18 Feb 2018 19:27:50 -0500 Subject: [PATCH] Improve bira theme and add support for mercurial Some spaces where wrongly placed, especially if one of the variables doesn't exist (e.g. `rvm_ruby`) where that would add two spaces instead of one. Added the red dot (instead of the default `*`) if the branch is dirty. The bira theme only supported git, now it supports mercurial as well. It needed ito call `hg_prompt_info` and the `ZSH_THEME_HG_PROMPT_` variables. --- themes/bira.zsh-theme | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme index 29bda0be..4b294bcb 100644 --- a/themes/bira.zsh-theme +++ b/themes/bira.zsh-theme @@ -13,18 +13,25 @@ fi local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}' local rvm_ruby='' if which rvm-prompt &> /dev/null; then - rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}' + rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%} ' else if which rbenv &> /dev/null; then - rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%}' + rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%} ' fi fi -local git_branch='$(git_prompt_info)%{$reset_color%}' -PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch} +local scm_branch='$(git_prompt_info)$(hg_prompt_info)%{$reset_color%}' + +PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby}${scm_branch} ╰─%B${user_symbol}%b " RPS1="%B${return_code}%b" ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹" -ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[yellow]%}" +ZSH_THEME_HG_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX +ZSH_THEME_HG_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX +ZSH_THEME_HG_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY +ZSH_THEME_HG_PROMPT_CLEAN=$ZSH_THEME_GIT_PROMPT_CLEAN