# 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
# 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
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
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'"
}
return
esac
- psvar[1]="$1"
- psvar[2]="$2"
- psvar[3]="$3"
+ psvar[1,3]=($1 $2 $3)
}
if ! is_root; then