From 9ca148f7ae708d9fdee8d5714309d7633ae22271 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Tue, 10 Aug 2010 08:42:35 -0700 Subject: [PATCH 01/12] my prompt --- themes/wezm+.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/wezm+.zsh-theme b/themes/wezm+.zsh-theme index fee3eb08e..343654f99 100644 --- a/themes/wezm+.zsh-theme +++ b/themes/wezm+.zsh-theme @@ -1,4 +1,4 @@ -PROMPT='%{${fg_bold[yellow]}%}%n%{$reset_color%}%{${fg[yellow]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' +PROMPT='%{${fg[green]}%}%n%{$reset_color%}%{${fg[cyan]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} ' RPROMPT='%{$fg[green]%}%~%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" From 0e33d64593c9a0b66f6f334ea6b0483c073332c5 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Mon, 5 Nov 2012 12:27:57 -0800 Subject: [PATCH 02/12] add avlux theme - hybrid of wezm+ and gnzh --- themes/avlux.zsh-theme | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 themes/avlux.zsh-theme diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme new file mode 100644 index 000000000..f7750e597 --- /dev/null +++ b/themes/avlux.zsh-theme @@ -0,0 +1,51 @@ +# hybrid of wezm+ and gnzh (which is "based on bira") themes + +# load some modules +autoload -U colors zsh/terminfo # Used in the colour alias below +colors +setopt prompt_subst + +# make some aliases for the colours: (coud use normal escap.seq's too) +for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do + eval PR_$color='%{$fg[${(L)color}]%}' +done +eval PR_NO_COLOR="%{$terminfo[sgr0]%}" +eval PR_BOLD="%{$terminfo[bold]%}" + +# Check if we are on SSH or not +if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then + eval PR_HOST='${PR_YELLOW}%M${PR_NO_COLOR}' #SSH - remote +else + eval PR_HOST='${PR_GREEN}%M${PR_NO_COLOR}' # no SSH - local +fi + +PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' + +# See if we are root or not +if [[ $UID -ge 10 ]]; then # normal user + eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' + local PR_PROMPT='$PR_YELLOW%%$PR_NO_COLOR' +elif [[ $UID -eq 0 ]]; then # root + eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' + local PR_PROMPT='$PR_RED#$PR_NO_COLOR' +fi + +# Current Ruby +local rvm_ruby='' +if which rvm-prompt &> /dev/null; then + rvm_ruby='%{$PR_RED%}‹$(rvm-prompt i v g s)›%{$PR_NO_COLOR%}' +elif which rbenv &> /dev/null; then + rvm_ruby='%{$PR_RED%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$PR_NO_COLOR%}' +fi + +local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' +local current_dir='%{$PR_GREEN%}%~%{$PR_NO_COLOR%}' +local return_code="%(?..%{$PR_RED%}%? ↵%{$PR_NO_COLOR%})" + +PROMPT="$PR_USER@$PR_HOST${rvm_ruby}$git_branch $PR_PROMPT " +RPROMPT="$current_dir" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From a5e962aca851624b12fe62db94934abfeb5f1b86 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 12:29:27 -0800 Subject: [PATCH 03/12] update avlux theme --- themes/avlux.zsh-theme | 68 ++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index f7750e597..fca6d927f 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -1,4 +1,4 @@ -# hybrid of wezm+ and gnzh (which is "based on bira") themes +# based on gnzh, which is "based on bira", add svn support, show git status, color tweaks # load some modules autoload -U colors zsh/terminfo # Used in the colour alias below @@ -11,41 +11,57 @@ for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do done eval PR_NO_COLOR="%{$terminfo[sgr0]%}" eval PR_BOLD="%{$terminfo[bold]%}" +eval PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' -# Check if we are on SSH or not -if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then - eval PR_HOST='${PR_YELLOW}%M${PR_NO_COLOR}' #SSH - remote -else - eval PR_HOST='${PR_GREEN}%M${PR_NO_COLOR}' # no SSH - local -fi - -PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' - -# See if we are root or not +# Check the UID if [[ $UID -ge 10 ]]; then # normal user eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' - local PR_PROMPT='$PR_YELLOW%%$PR_NO_COLOR' + local PR_PROMPT='$PR_NO_COLOR%%$PR_NO_COLOR' elif [[ $UID -eq 0 ]]; then # root eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' local PR_PROMPT='$PR_RED#$PR_NO_COLOR' fi -# Current Ruby -local rvm_ruby='' -if which rvm-prompt &> /dev/null; then - rvm_ruby='%{$PR_RED%}‹$(rvm-prompt i v g s)›%{$PR_NO_COLOR%}' -elif which rbenv &> /dev/null; then - rvm_ruby='%{$PR_RED%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$PR_NO_COLOR%}' +# Check if we are on SSH or not +if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then + eval PR_HOST='${PR_MAGENTA}%M${PR_NO_COLOR}' #SSH +else + eval PR_HOST='${PR_GREEN}%M${PR_NO_COLOR}' # no SSH fi -local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' -local current_dir='%{$PR_GREEN%}%~%{$PR_NO_COLOR%}' local return_code="%(?..%{$PR_RED%}%? ↵%{$PR_NO_COLOR%})" +local user_host='${PR_USER}${PR_CYAN}@${PR_HOST}' +local current_dir='%{$PR_BOLD$PR_GREEN%}%~%{$PR_NO_COLOR%}' +local rvm_ruby='' +if which rvm-prompt &> /dev/null; then + rvm_ruby='%{$PR_RED%}<$(rvm-prompt i v g s)>%{$PR_NO_COLOR%}' +else + if which rbenv &> /dev/null; then + rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$PR_NO_COLOR%}' + fi +fi +local svn_info='$(svn_prompt_info)%{$PR_NO_COLOR%}' +local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' +local git_status='$(git_prompt_status)%{$PR_NO_COLOR%}' -PROMPT="$PR_USER@$PR_HOST${rvm_ruby}$git_branch $PR_PROMPT " -RPROMPT="$current_dir" +#PROMPT="${user_host} ${current_dir} ${rvm_ruby} ${git_branch}$PR_PROMPT " +PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${svn_info}${git_branch}${git_status} +╰─>$PR_PROMPT " +RPS1="${return_code}" + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}git:" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}✓%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}+%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[magenta]%}Δ%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%}!%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[blue]%}>%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%}#%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[yellow]%}?%{$reset_color%}" + +ZSH_THEME_SVN_PROMPT_PREFIX="%{$fg[yellow]%}svn:" +ZSH_THEME_SVN_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%}✗%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_CLEAN="%{$fg[green]%}✓%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}(" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" From 09f863600503f1d5394ef1518a0065d1ac566279 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 12:34:13 -0800 Subject: [PATCH 04/12] do not specify command color --- themes/avlux.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index fca6d927f..b0200fa1e 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -15,10 +15,10 @@ eval PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' # Check the UID if [[ $UID -ge 10 ]]; then # normal user - eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' + # eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' local PR_PROMPT='$PR_NO_COLOR%%$PR_NO_COLOR' elif [[ $UID -eq 0 ]]; then # root - eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' + # eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' local PR_PROMPT='$PR_RED#$PR_NO_COLOR' fi From d1191418f66f743f7ca24d1a1f033a6f9efe76e9 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 12:40:52 -0800 Subject: [PATCH 05/12] prompt colors update --- themes/avlux.zsh-theme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index b0200fa1e..ea0385d44 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -15,10 +15,10 @@ eval PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' # Check the UID if [[ $UID -ge 10 ]]; then # normal user - # eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' - local PR_PROMPT='$PR_NO_COLOR%%$PR_NO_COLOR' + eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' + local PR_PROMPT='$PR_GREEN%%$PR_NO_COLOR' elif [[ $UID -eq 0 ]]; then # root - # eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' + eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' local PR_PROMPT='$PR_RED#$PR_NO_COLOR' fi From a0660f68f1cfe6b27a279f2c04e14902f6801634 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 12:49:37 -0800 Subject: [PATCH 06/12] fixing command color on certain terminals, e.g. through putty. --- themes/avlux.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index ea0385d44..c09cab14a 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -16,10 +16,10 @@ eval PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' # Check the UID if [[ $UID -ge 10 ]]; then # normal user eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' - local PR_PROMPT='$PR_GREEN%%$PR_NO_COLOR' + local PR_PROMPT='$PR_GREEN%%%{$reset_color%}' elif [[ $UID -eq 0 ]]; then # root eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' - local PR_PROMPT='$PR_RED#$PR_NO_COLOR' + local PR_PROMPT='$PR_RED#%{$reset_color%}' fi # Check if we are on SSH or not From 7aa24b8f59d6285dab2ce5c783d0389dcbd46515 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 12:57:54 -0800 Subject: [PATCH 07/12] color tweaks, remove most special characters --- themes/avlux.zsh-theme | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index c09cab14a..9e32afd37 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -1,4 +1,6 @@ -# based on gnzh, which is "based on bira", add svn support, show git status, color tweaks +# AVLUX theme, by Andrew vonderLuft, Nov. 2012 +# based on gnzh, which is "based on bira", add svn support, show git status, color tweaks, +# remove most special characters for broader terminal compatibility # load some modules autoload -U colors zsh/terminfo # Used in the colour alias below @@ -51,8 +53,8 @@ RPS1="${return_code}" ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}git:" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}✗%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}✓%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}-%{$fg[red]%}x%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}-%{$fg[green]%}o%{$reset_color%}" ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%}+%{$reset_color%}" ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[magenta]%}Δ%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%}!%{$reset_color%}" @@ -62,6 +64,6 @@ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[yellow]%}?%{$reset_color%}" ZSH_THEME_SVN_PROMPT_PREFIX="%{$fg[yellow]%}svn:" ZSH_THEME_SVN_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_SVN_PROMPT_DIRTY="%{$fg[red]%}✗%{$reset_color%}" -ZSH_THEME_SVN_PROMPT_CLEAN="%{$fg[green]%}✓%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_DIRTY="-%{$fg[red]%}x%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_CLEAN="-%{$fg[green]%}o%{$reset_color%}" From e70d5f5edd8563a2311119ae79bbd3fd64cb8629 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Wed, 7 Nov 2012 13:01:28 -0800 Subject: [PATCH 08/12] fix color reset --- themes/avlux.zsh-theme | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index 9e32afd37..ef2172aaa 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -11,7 +11,7 @@ setopt prompt_subst for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do eval PR_$color='%{$fg[${(L)color}]%}' done -eval PR_NO_COLOR="%{$terminfo[sgr0]%}" +# eval PR_NO_COLOR="%{$terminfo[sgr0]%}" eval PR_BOLD="%{$terminfo[bold]%}" eval PR_USER='${PR_CYAN}%n${PR_NO_COLOR}' @@ -31,20 +31,20 @@ else eval PR_HOST='${PR_GREEN}%M${PR_NO_COLOR}' # no SSH fi -local return_code="%(?..%{$PR_RED%}%? ↵%{$PR_NO_COLOR%})" +local return_code="%(?..%{$PR_RED%}%? ↵%{$reset_color%})" local user_host='${PR_USER}${PR_CYAN}@${PR_HOST}' -local current_dir='%{$PR_BOLD$PR_GREEN%}%~%{$PR_NO_COLOR%}' +local current_dir='%{$PR_BOLD$PR_GREEN%}%~%{$reset_color%}' local rvm_ruby='' if which rvm-prompt &> /dev/null; then - rvm_ruby='%{$PR_RED%}<$(rvm-prompt i v g s)>%{$PR_NO_COLOR%}' + rvm_ruby='%{$PR_RED%}<$(rvm-prompt i v g s)>%{$reset_color%}' else if which rbenv &> /dev/null; then - rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$PR_NO_COLOR%}' + rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' fi fi -local svn_info='$(svn_prompt_info)%{$PR_NO_COLOR%}' -local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' -local git_status='$(git_prompt_status)%{$PR_NO_COLOR%}' +local svn_info='$(svn_prompt_info)%{$reset_color%}' +local git_branch='$(git_prompt_info)%{$reset_color%}' +local git_status='$(git_prompt_status)%{$reset_color%}' #PROMPT="${user_host} ${current_dir} ${rvm_ruby} ${git_branch}$PR_PROMPT " PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${svn_info}${git_branch}${git_status} From a903c033fc427a6c22d96312bbef77528170ea5b Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Fri, 16 Nov 2012 15:36:16 -0800 Subject: [PATCH 09/12] change variable order; ruby wasn't working consistently --- themes/avlux.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index ef2172aaa..77d2bf7ae 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -42,9 +42,9 @@ else rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' fi fi -local svn_info='$(svn_prompt_info)%{$reset_color%}' local git_branch='$(git_prompt_info)%{$reset_color%}' local git_status='$(git_prompt_status)%{$reset_color%}' +local svn_info='$(svn_prompt_info)%{$reset_color%}' #PROMPT="${user_host} ${current_dir} ${rvm_ruby} ${git_branch}$PR_PROMPT " PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${svn_info}${git_branch}${git_status} From fc52c1c4f8e01b7e68f670f8a08ac20edbdbd0a6 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Sun, 1 Sep 2013 22:29:53 -0700 Subject: [PATCH 10/12] show ruby version when no rvm or rbenv --- themes/avlux.zsh-theme | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index 77d2bf7ae..347ec7802 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -37,11 +37,12 @@ local current_dir='%{$PR_BOLD$PR_GREEN%}%~%{$reset_color%}' local rvm_ruby='' if which rvm-prompt &> /dev/null; then rvm_ruby='%{$PR_RED%}<$(rvm-prompt i v g s)>%{$reset_color%}' +elif which rbenv &> /dev/null; then + rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' else - if which rbenv &> /dev/null; then - rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' - fi + rvm_ruby='%{$PR_RED%}<$(ruby -v | sed -e "s/ (.*$//")>%{$reset_color%}' fi + local git_branch='$(git_prompt_info)%{$reset_color%}' local git_status='$(git_prompt_status)%{$reset_color%}' local svn_info='$(svn_prompt_info)%{$reset_color%}' From f0fe25df1beb7318d9b71ba3248bd5bf7b228730 Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Fri, 7 Mar 2014 11:17:18 -0800 Subject: [PATCH 11/12] add option to show dirty status of current dir --- plugins/svn/svn.plugin.zsh | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh index 4f008ba4e..ef6da5bd3 100644 --- a/plugins/svn/svn.plugin.zsh +++ b/plugins/svn/svn.plugin.zsh @@ -9,7 +9,7 @@ function svn_prompt_info() { _DISPLAY=$(svn_get_repo_name) fi echo "$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\ -$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR" +$ZSH_THEME_REPO_NAME_COLOR$_DISPLAY$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$(svn_dirty_pwd)$ZSH_PROMPT_BASE_COLOR" unset _DISPLAY fi } @@ -74,3 +74,22 @@ function svn_dirty_choose() { function svn_dirty() { svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN } + +function svn_dirty_choose_pwd () { + if in_svn; then + root=`pwd` + if $(svn status $root 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]'); then + # Grep exits with 0 when "One or more lines were selected", return "dirty". + echo $1 + else + # Otherwise, no lines were found, or an error occurred. Return clean. + echo $2 + fi + fi +} + +function svn_dirty_pwd () { + svn_dirty_choose_pwd $ZSH_THEME_SVN_PROMPT_DIRTY_PWD $ZSH_THEME_SVN_PROMPT_CLEAN_PWD +} + + From 674a7e34adde61e75ffd71618016dd2796f7c86a Mon Sep 17 00:00:00 2001 From: Andrew vonderLuft Date: Fri, 7 Mar 2014 11:18:34 -0800 Subject: [PATCH 12/12] update avlux them to show svn dirty status of current directory, as well as entire working copy. --- themes/avlux.zsh-theme | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/themes/avlux.zsh-theme b/themes/avlux.zsh-theme index 347ec7802..f401bfc05 100644 --- a/themes/avlux.zsh-theme +++ b/themes/avlux.zsh-theme @@ -36,11 +36,11 @@ local user_host='${PR_USER}${PR_CYAN}@${PR_HOST}' local current_dir='%{$PR_BOLD$PR_GREEN%}%~%{$reset_color%}' local rvm_ruby='' if which rvm-prompt &> /dev/null; then - rvm_ruby='%{$PR_RED%}<$(rvm-prompt i v g s)>%{$reset_color%}' + rvm_ruby='%{$fg[red]%}<$(rvm-prompt i v g s)>%{$reset_color%}' elif which rbenv &> /dev/null; then - rvm_ruby='%{$PR_RED%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' + rvm_ruby='%{$fg[red]%}<$(rbenv version | sed -e "s/ (set.*$//")>%{$reset_color%}' else - rvm_ruby='%{$PR_RED%}<$(ruby -v | sed -e "s/ (.*$//")>%{$reset_color%}' + rvm_ruby='%{$fg[red]%}<$(ruby -v | sed -e "s/ (.*$//")>%{$reset_color%}' fi local git_branch='$(git_prompt_info)%{$reset_color%}' @@ -67,4 +67,6 @@ ZSH_THEME_SVN_PROMPT_PREFIX="%{$fg[yellow]%}svn:" ZSH_THEME_SVN_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_SVN_PROMPT_DIRTY="-%{$fg[red]%}x%{$reset_color%}" ZSH_THEME_SVN_PROMPT_CLEAN="-%{$fg[green]%}o%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_DIRTY_PWD="%{$fg[red]%}x%{$reset_color%}" +ZSH_THEME_SVN_PROMPT_CLEAN_PWD="%{$fg[green]%}o%{$reset_color%}"