]> git.donarmstrong.com Git - zsh.git/commitdiff
enable vcsprompt to use %-sequences and make vcsh prompt stand out
authormartin f. krafft <madduck@madduck.net>
Tue, 23 Apr 2013 11:17:53 +0000 (13:17 +0200)
committermartin f. krafft <madduck@madduck.net>
Tue, 23 Apr 2013 11:17:53 +0000 (13:17 +0200)
.zsh/zshrc/60_vcsprompt
.zsh/zshrc/85_prompt

index 9c23a0b1ad24e513efc0e1ca1f014f71e35cd46c..cf901101a0c070adfccd5fd26695b7275c304765 100644 (file)
@@ -162,7 +162,7 @@ __vcs_set_prompt_variables()
         # if vcsh is used to get a subshell, then the repo root is the home
         # directory, but we want to indicate the vcsh context too:
         eval set -- $(__vcs_get_prompt_path_components "$HOME" "$branch")
-        set -- "vcsh:$VCSH_REPO_NAME" "$2" "$3"
+        set -- "%Svcsh:$VCSH_REPO_NAME%s" "$2" "$3"
       else
         eval set -- $(__vcs_get_prompt_path_components "$reporoot" "$branch")
         if [ -d "$GIT_DIR" ]; then
@@ -200,7 +200,7 @@ __vcs_set_prompt_variables()
       return
   esac
 
-  psvar[1,3]=($1 $2 $3)
+  psvar[1,3]=(${(%)1} ${(%)2} ${(%)3})
 }
 
 __vcs_print_preprompt()
index 5ddbe823dfe7f8c14625ffae85f17cf54e30f6a6..51fd9b51b267dbc168d626f6dd03caf3e6f82dbf 100644 (file)
@@ -9,7 +9,7 @@
 #
 
 if [ "${PS1:-}" = '%m%# ' ]; then
-  local _MIDDLE="%1v%(2v.|%B%2v%b|.)%(3v.%3v.)"
+  local _MIDDLE="${(%)psvar[1]}%(2v.|%B${(%)psvar[2]}%b|.)%(3v.${(%)psvar[3]}.)"
   if is_root; then
     _MIDDLE="%25<…<%~%<<"
     local _PS1_HL=U