mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-29 06:51:03 +02:00
16933: more sophisticated versions of these functions
This commit is contained in:
parent
41eb475f9b
commit
8ce654afb5
3 changed files with 32 additions and 16 deletions
|
@ -1,5 +1,10 @@
|
|||
2002-04-04 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 16933; based on 16011 (Martin Ebourne) and 16906 (Bart):
|
||||
Functions/Zle/up-line-or-beginning-search,
|
||||
Functions/Zle/down-line-or-beginning-search:
|
||||
more sophisticated versions of these functions
|
||||
|
||||
* 16923: Completion/Base/Completer/_all_matches, Doc/Zsh/compsys.yo:
|
||||
add insert style to insert all matches instead of adding as a match
|
||||
|
||||
|
|
|
@ -1,13 +1,19 @@
|
|||
# Like down-line-or-search, but uses the whole line prefix up to the
|
||||
# cursor position for searching forwards.
|
||||
|
||||
if [[ $LASTWIDGET != $WIDGET ]]
|
||||
if [[ ${+NUMERIC} -eq 0 &&
|
||||
( $LASTWIDGET = $__searching || $RBUFFER != *$'\n'* ) ]]
|
||||
then
|
||||
if [[ $LBUFFER == *$'\n'* ]]
|
||||
then
|
||||
__last_down_line=down-line-or-history
|
||||
else
|
||||
__last_down_line=history-beginning-search-forward
|
||||
fi
|
||||
[[ $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
|
||||
zle .${__last_down_line:-beep}
|
||||
__searching=''
|
||||
zle .down-line-or-history
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
# Like up-line-or-search, but uses the whole line prefix up to the
|
||||
# cursor position for searching backwards.
|
||||
|
||||
if [[ $LASTWIDGET != $WIDGET ]]
|
||||
if [[ $LBUFFER == *$'\n'* ]]; then
|
||||
zle .up-line-or-history
|
||||
__searching=''
|
||||
elif [[ -n $PREBUFFER ]] &&
|
||||
zstyle -t ':zle:up-line-or-beginning-search' edit-buffer
|
||||
then
|
||||
if [[ $LBUFFER == *$'\n'* ]]
|
||||
then
|
||||
__last_up_line=up-line-or-history
|
||||
else
|
||||
__last_up_line=history-beginning-search-backward
|
||||
fi
|
||||
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
|
||||
zle .${__last_up_line:-beep}
|
||||
|
|
Loading…
Reference in a new issue