Commit 999bab18 authored by Marc Cornellà's avatar Marc Cornellà
Browse files

Emulate zsh in zlewidgets instead of static setopt command

This way the user can keep their preferred pushd syntax while enabling
us to use a standard syntax in our defined functions.

To explain further, without a clear value on the PUSHD_MINUS option, we
could be changing the +1/-0 values all we want, that some user would
find that it didn't work for him.

We have two options, then:
- Setting a particular value, which was my first approach.
- Using `emulate -L zsh` to ensure all options defined in the function's
  body won't be passed along to the main zsh instance.
  For more info see:
  http://zsh.sourceforge.net/Doc/Release/Shell-Builtin-Commands.html#index-emulate
parent e93fd939
...@@ -7,15 +7,20 @@ ...@@ -7,15 +7,20 @@
# NO_PUSHD_MINUS syntax: # NO_PUSHD_MINUS syntax:
# pushd +N: start counting from left of `dirs' output # pushd +N: start counting from left of `dirs' output
# pushd -N: start counting from right of `dirs' output # pushd -N: start counting from right of `dirs' output
setopt nopushdminus
insert-cycledleft () { insert-cycledleft () {
emulate -L zsh
setopt nopushdminus
builtin pushd -q +1 &>/dev/null || true builtin pushd -q +1 &>/dev/null || true
zle reset-prompt zle reset-prompt
} }
zle -N insert-cycledleft zle -N insert-cycledleft
insert-cycledright () { insert-cycledright () {
emulate -L zsh
setopt nopushdminus
builtin pushd -q -0 &>/dev/null || true builtin pushd -q -0 &>/dev/null || true
zle reset-prompt zle reset-prompt
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment