diff options
author | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-11-25 00:35:23 +0000 |
---|---|---|
committer | Paul Ackersviller <packersv@users.sourceforge.net> | 2007-11-25 00:35:23 +0000 |
commit | 4ecf5b41ea3cb730fb726064461e83dd19a63563 (patch) | |
tree | edbc031cda04242a1089466346fa13241724ed00 | |
parent | 1d77e36c393be4fa8d836104b6ff2d6bdcfad134 (diff) | |
download | zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.tar.gz zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.tar.xz zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.zip |
Merge of users/11790: avoid nounset.
-rw-r--r-- | Functions/Zle/down-line-or-beginning-search | 21 | ||||
-rw-r--r-- | Functions/Zle/up-line-or-beginning-search | 20 |
2 files changed, 41 insertions, 0 deletions
diff --git a/Functions/Zle/down-line-or-beginning-search b/Functions/Zle/down-line-or-beginning-search new file mode 100644 index 000000000..fbd2c3341 --- /dev/null +++ b/Functions/Zle/down-line-or-beginning-search @@ -0,0 +1,21 @@ +# Like down-line-or-search, but uses the whole line prefix up to the +# cursor position for searching forwards. + +emulate -L zsh + +if [[ ${+NUMERIC} -eq 0 && + ( $LASTWIDGET = $__searching || $RBUFFER != *$'\n'* ) ]] +then + [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor + __searching=$WIDGET + __savecursor=$CURSOR + if zle .history-beginning-search-forward; then + [[ $RBUFFER = *$'\n'* ]] || + zstyle -T ':zle:down-line-or-beginning-search' leave-cursor && + zle .end-of-line + return + fi + [[ $RBUFFER = *$'\n'* ]] || return +fi +__searching='' +zle .down-line-or-history diff --git a/Functions/Zle/up-line-or-beginning-search b/Functions/Zle/up-line-or-beginning-search new file mode 100644 index 000000000..5348e7ad3 --- /dev/null +++ b/Functions/Zle/up-line-or-beginning-search @@ -0,0 +1,20 @@ +# Like up-line-or-search, but uses the whole line prefix up to the +# cursor position for searching backwards. + +emulate -L zsh + +if [[ $LBUFFER == *$'\n'* ]]; then + zle .up-line-or-history + __searching='' +elif [[ -n $PREBUFFER ]] && + zstyle -t ':zle:up-line-or-beginning-search' edit-buffer +then + zle .push-line-or-edit +else + [[ $LASTWIDGET = $__searching ]] && CURSOR=$__savecursor + __savecursor=$CURSOR + __searching=$WIDGET + zle .history-beginning-search-backward + zstyle -T ':zle:up-line-or-beginning-search' leave-cursor && + zle .end-of-line +fi |