commit
2294bae06a
@ -94,18 +94,12 @@ shrink_path () {
|
|||||||
(( tilde )) && dir=${dir/$HOME/\~}
|
(( tilde )) && dir=${dir/$HOME/\~}
|
||||||
tree=(${(s:/:)dir})
|
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] == \~* ]] {
|
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 )) {
|
||||||
@ -122,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:-/}
|
||||||
|
Loading…
Reference in New Issue
Block a user