diff options
Diffstat (limited to 'plugins/shrink-path')
| -rw-r--r-- | plugins/shrink-path/shrink-path.plugin.zsh | 16 | 
1 files changed, 5 insertions, 11 deletions
diff --git a/plugins/shrink-path/shrink-path.plugin.zsh b/plugins/shrink-path/shrink-path.plugin.zsh index 6dd6a930f..29e6f0deb 100644 --- a/plugins/shrink-path/shrink-path.plugin.zsh +++ b/plugins/shrink-path/shrink-path.plugin.zsh @@ -88,24 +88,18 @@ shrink_path () {          if (( named )) {                  for part in ${(k)nameddirs}; { -                        [[ $dir == ${nameddirs[$part]}(/*|) ]] && dir=${dir/${nameddirs[$part]}/\~$part} +                        [[ $dir == ${nameddirs[$part]}(/*|) ]] && dir=${dir/#${nameddirs[$part]}/\~$part}                  }          } -        (( tilde )) && dir=${dir/$HOME/\~} +        (( 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:-/}  | 
