diff --git a/plugins/dircycle/dircycle.plugin.zsh b/plugins/dircycle/dircycle.plugin.zsh index bb69f6b3f..2dd03d209 100644 --- a/plugins/dircycle/dircycle.plugin.zsh +++ b/plugins/dircycle/dircycle.plugin.zsh @@ -43,6 +43,27 @@ insert-cycledright () { } zle -N insert-cycledright +insert-cycledup () { + switch-to-dir .. || return + + local fn + for fn (chpwd $chpwd_functions precmd $precmd_functions); do + (( $+functions[$fn] )) && $fn + done + zle reset-prompt +} +zle -N insert-cycledup + +insert-cycleddown () { + switch-to-dir "$(find . -mindepth 1 -maxdepth 1 -type d | sort -n | head -n 1)" || return + + local fn + for fn (chpwd $chpwd_functions precmd $precmd_functions); do + (( $+functions[$fn] )) && $fn + done + zle reset-prompt +} +zle -N insert-cycleddown # These sequences work for xterm, Apple Terminal.app, and probably others. # Not for rxvt-unicode, but it doesn't seem differentiate Ctrl-Shift-Arrow