|
|
|
@ -94,13 +94,12 @@ shrink_path () { |
|
|
|
(( tilde )) && dir=${dir/$HOME/\~} |
|
|
|
(( tilde )) && dir=${dir/$HOME/\~} |
|
|
|
tree=(${(s:/:)dir}) |
|
|
|
tree=(${(s:/:)dir}) |
|
|
|
( |
|
|
|
( |
|
|
|
unfunction chpwd 2> /dev/null |
|
|
|
|
|
|
|
if [[ $tree[1] == \~* ]] { |
|
|
|
if [[ $tree[1] == \~* ]] { |
|
|
|
cd ${~tree[1]} |
|
|
|
cd -q ${~tree[1]} |
|
|
|
result=$tree[1] |
|
|
|
result=$tree[1] |
|
|
|
shift tree |
|
|
|
shift tree |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
cd / |
|
|
|
cd -q / |
|
|
|
} |
|
|
|
} |
|
|
|
for dir in $tree; { |
|
|
|
for dir in $tree; { |
|
|
|
if (( lastfull && $#tree == 1 )) { |
|
|
|
if (( lastfull && $#tree == 1 )) { |
|
|
|
@ -117,7 +116,7 @@ shrink_path () { |
|
|
|
(( short )) && break |
|
|
|
(( short )) && break |
|
|
|
done |
|
|
|
done |
|
|
|
result+="/$part" |
|
|
|
result+="/$part" |
|
|
|
cd $dir |
|
|
|
cd -q $dir |
|
|
|
shift tree |
|
|
|
shift tree |
|
|
|
} |
|
|
|
} |
|
|
|
echo ${result:-/} |
|
|
|
echo ${result:-/} |
|
|
|
|