Update shrink-path to use cd -q for bypassing the chpwd callbacks

This commit is contained in:
Kaleb Elwert 2017-03-01 15:32:00 -08:00 committed by Marc Cornellà
parent c09783c255
commit 66cb4005ab

View File

@ -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:-/}