}
function __ps1_short() {
+ local pwd=${PWD/#$HOME/\~}
local dirtrim=${PROMPT_DIRTRIM//[^0-9]/}
if [ "${dirtrim:0:1}" = "0" ]; then
- echo "$PWD"
+ echo "$pwd"
return $1
fi
dirtrim=${dirtrim##0}
if [ -z "$dirtrim" ]; then
- local prompt="$USER$HOSTNAME$PWD"
+ local prompt="$USER$HOSTNAME$pwd"
local width=$(((COLUMNS*2)/3))
if [ ${#prompt} -le ${width:-53} ]; then
- echo "$PWD"
+ echo "$pwd"
return $1
else
dirtrim=1
fi
fi
- local dirname=${PWD##*/}
- local basename=${PWD%/$dirname}
+ local dirname=${pwd##*/}
+ local basename=${pwd%/$dirname}
local reversed=
local component
for component in ${basename//\// }; do
local n=1
local short=
for component in $reversed; do
+ [ $n = 1 -a "$PWD" = "$pwd" ] || short="/$short"
if [ $n -ge $dirtrim ]; then
- short="/${component:0:1}$short"
+ short="${component:0:1}$short"
else
- short="/$component$short"
+ short="$component$short"
fi
n=$((n+1))
done
- echo "$short/$dirname"
+ echo "$short$dirname"
return $1
}