]> git.donarmstrong.com Git - zsh.git/commitdiff
simplify variable expansions
authormartin f. krafft <madduck@madduck.net>
Tue, 13 May 2008 22:36:36 +0000 (23:36 +0100)
committermartin f. krafft <madduck@madduck.net>
Tue, 13 May 2008 22:36:36 +0000 (23:36 +0100)
.zsh/zshrc/60_vcsprompt

index 2a672be6a5882a3c86b90403525d8d30b6e7044f..e61ce5017a1b08d1ce68b40bbd6c346491acf502 100644 (file)
@@ -84,8 +84,7 @@ __vcs_get_prompt_path_components()
 
   # shortcut: if there are no arguments, return a default prompt
   if [ -z "${1:-}" ]; then
-    pwdnamed="%${_PROMPT_PATH_MAXLEN}<..<%~%<<"
-    pwdnamed="${(%)pwdnamed}"
+    pwdnamed="${(%):-'%${_PROMPT_PATH_MAXLEN}<..<%~%<<'}"
     echo "$pwdnamed"
     return
   fi
@@ -96,8 +95,8 @@ __vcs_get_prompt_path_components()
 
   # replace named directories in the PWD, we need thi for the proper component
   # count later
-  local pwdnamed="%~"
-  pwdnamed="${(%)pwdnamed}"
+  local pwdnamed
+  pwdnamed="${(%):-%~}"
 
   # store paths in arrays for component count calculation
   typeset -la apwd apwdnamed areporoot
@@ -114,10 +113,7 @@ __vcs_get_prompt_path_components()
   precomps=$(($#apwdnamed - $postcomps))
 
   local postfix
-  if (( $postcomps > 0 )); then
-    postfix="%${postcomps}~"
-    postfix="${(%)postfix}"
-  fi
+  (( $postcomps > 0 )) && postfix="${(%):-'%${postcomps}~'}"
 
   # we don't want the prompt to get too long, so keep the total prompt length
   # under $_PROMPT_PATH_MAXLEN (25), but ensure that the prefix is not shorter
@@ -126,8 +122,7 @@ __vcs_get_prompt_path_components()
   prelen=$((${_PROMPT_PATH_MAXLEN:-25} - $#branch - $#postfix))
   minlen=${_PROMPT_PATH_MINLEN:-10}
   (( $prelen < $minlen )) && prelen=$minlen
-  prefix="%${prelen}<..<%-${precomps}~%<<"
-  prefix="${(%)prefix}"
+  prefix="${(%):-'%${prelen}<..<%-${precomps}~%<<'}"
 
   echo "'$prefix'" "'$branch'" "'$postfix'"
 }
@@ -174,9 +169,7 @@ __vcs_set_prompt_variables()
       return
   esac
 
-  psvar[1]="$1"
-  psvar[2]="$2"
-  psvar[3]="$3"
+  psvar[1,3]=($1 $2 $3)
 }
 
 if ! is_root; then