summaryrefslogtreecommitdiff
path: root/plugins/dircycle/dircycle.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2019-05-08 20:40:36 +0200
committerGitHub <noreply@github.com>2019-05-08 20:40:36 +0200
commit0232ac4bb1cb64b5bfaa7e5fc979d6f7ab23e534 (patch)
tree946d9f8b758ebdd63da96152ca56b154c99068da /plugins/dircycle/dircycle.plugin.zsh
parentafb028763cf40fc339e49011b2cba124dc108fcb (diff)
parentebc700be9b2fa7ae770a644093a5c46a8e323726 (diff)
downloadzsh-0232ac4bb1cb64b5bfaa7e5fc979d6f7ab23e534.tar.gz
zsh-0232ac4bb1cb64b5bfaa7e5fc979d6f7ab23e534.tar.bz2
zsh-0232ac4bb1cb64b5bfaa7e5fc979d6f7ab23e534.zip
Merge branch 'master' into master
Diffstat (limited to 'plugins/dircycle/dircycle.plugin.zsh')
-rw-r--r--plugins/dircycle/dircycle.plugin.zsh21
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