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 /Functions/Zle/down-line-or-beginning-search | |
parent | 1d77e36c393be4fa8d836104b6ff2d6bdcfad134 (diff) | |
download | zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.tar.gz zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.tar.xz zsh-4ecf5b41ea3cb730fb726064461e83dd19a63563.zip |
Merge of users/11790: avoid nounset.
Diffstat (limited to 'Functions/Zle/down-line-or-beginning-search')
-rw-r--r-- | Functions/Zle/down-line-or-beginning-search | 21 |
1 files changed, 21 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 |