diff options
author | Kozlov Alexander <badryke@gmail.com> | 2018-11-16 13:38:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-16 13:38:43 +0300 |
commit | 8c95c52353118643ac3dbd9b0c185a3129b84bf8 (patch) | |
tree | ee7497251b7a541480ae5c6a97b63b14381ed5ee /plugins/dircycle/dircycle.plugin.zsh | |
parent | dd30cf104c9ca42d89d26a134382ca421869ce7e (diff) | |
parent | 3d8f2bda599c8c6d160dc448e5ab28aaf2d5e90d (diff) | |
download | zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.gz zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.bz2 zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.zip |
Merge branch 'master' into master
Diffstat (limited to 'plugins/dircycle/dircycle.plugin.zsh')
-rw-r--r-- | plugins/dircycle/dircycle.plugin.zsh | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh index 8c58cab4c..bb69f6b3f 100644 --- a/plugins/dircycle/dircycle.plugin.zsh +++ b/plugins/dircycle/dircycle.plugin.zsh @@ -9,31 +9,36 @@ # pushd -N: start counting from right of `dirs' output switch-to-dir () { - [[ ${#dirstack} -eq 0 ]] && return + setopt localoptions nopushdminus + [[ ${#dirstack} -eq 0 ]] && return 1 while ! builtin pushd -q $1 &>/dev/null; do # We found a missing directory: pop it out of the dir stack builtin popd -q $1 # Stop trying if there are no more directories in the dir stack - [[ ${#dirstack} -eq 0 ]] && break + [[ ${#dirstack} -eq 0 ]] && return 1 done } insert-cycledleft () { - emulate -L zsh - setopt nopushdminus + switch-to-dir +1 || return - switch-to-dir +1 + local fn + for fn (chpwd $chpwd_functions precmd $precmd_functions); do + (( $+functions[$fn] )) && $fn + done zle reset-prompt } zle -N insert-cycledleft insert-cycledright () { - emulate -L zsh - setopt nopushdminus + switch-to-dir -0 || return - switch-to-dir -0 + local fn + for fn (chpwd $chpwd_functions precmd $precmd_functions); do + (( $+functions[$fn] )) && $fn + done zle reset-prompt } zle -N insert-cycledright |