local colour=
local ret=
for colour in "${1}_colour${__ps1_colours}" "${1}_colour"; do
- ret=$(eval echo -n "\$$colour")
+ eval "export ret=\$$colour"
[ -n "$ret" ] && break
done
echo -n $ret
function __ps1_prefix() {
local var=\$${2#\$}
local prefix=${__ps1_all%$var*}
- local all="$(eval echo $prefix)"
+ eval "all=\$$prefix"
[ "${all/1/}" = "$all" ] || echo -n " "
return $1
}
local pwd=${PWD/#$home/\~}
local dirtrim=${PROMPT_DIRTRIM//[^0-9]/}
- if [ "${dirtrim:0:1}" = "0" ]; then
+ if [ "${dirtrim:0:1}" = "0" -o "$PWD" = "$HOME" ]; then
echo "$pwd"
return $1
fi
local n=1
local short=
for component in $reversed; do
- [ $n = 1 -a "$PWD" = "$pwd" ] || short="/$short"
+ [ $n = 1 ] || short="/$short"
if [ $n -ge $dirtrim ]; then
short="${component:0:1}$short"
else
n=$((n+1))
done
- [ "${short:0:1}" = "~" ] || short="/$short"
+ [ "${short:0:1}" = "~" -o -z "$basename" ] || short="/$short"
echo "$short/$dirname"
return $1
}
fi
what="$(echo $2 | env LANG= LC_ALL= LC_CTYPE= tr '[:upper:]' '[:lower:]')"
- eval __ps1_$what=$action
+ eval "__ps1_$what=$action"
}
__ps1