|
@@ -94,18 +94,12 @@ shrink_path () {
|
|
|
(( tilde )) && dir=${dir/$HOME/\~}
|
|
|
tree=(${(s:/:)dir})
|
|
|
(
|
|
|
- # unset chpwd_functions since we'll be calling `cd` and don't
|
|
|
- # want any side-effects (eg., if the user was using auto-ls)
|
|
|
- chpwd_functions=()
|
|
|
- # unset chpwd since even if chpwd_functions is (), zsh will
|
|
|
- # attempt to execute chpwd
|
|
|
- unfunction chpwd 2> /dev/null
|
|
|
if [[ $tree[1] == \~* ]] {
|
|
|
- cd ${~tree[1]}
|
|
|
+ cd -q ${~tree[1]}
|
|
|
result=$tree[1]
|
|
|
shift tree
|
|
|
} else {
|
|
|
- cd /
|
|
|
+ cd -q /
|
|
|
}
|
|
|
for dir in $tree; {
|
|
|
if (( lastfull && $#tree == 1 )) {
|
|
@@ -122,7 +116,7 @@ shrink_path () {
|
|
|
(( short )) && break
|
|
|
done
|
|
|
result+="/$part"
|
|
|
- cd $dir
|
|
|
+ cd -q $dir
|
|
|
shift tree
|
|
|
}
|
|
|
echo ${result:-/}
|