1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-04 22:51:42 +02:00

zsh-workers/8428

This commit is contained in:
Tanaka Akira 1999-10-26 16:17:30 +00:00
parent e0b26186f1
commit 270b48432d

View file

@ -25,14 +25,12 @@
# error message.
predict-on() {
setopt localoptions unset noksharrays
zle -N self-insert insert-and-predict
zle -N magic-space insert-and-predict
zle -N backward-delete-char delete-backward-and-predict
zle -N delete-char-or-list delete-no-predict
}
predict-off() {
setopt localoptions unset noksharrays
zle -A .self-insert self-insert
zle -A .magic-space magic-space
zle -A .backward-delete-char backward-delete-char
@ -53,6 +51,8 @@ insert-and-predict () {
if [[ ${KEYS[-1]} != ' ' ]]
then
integer curs=$CURSOR
local -a +h comppostfuncs
comppostfuncs=( predict-limit-list )
zle complete-word
CURSOR=$curs
fi
@ -79,8 +79,20 @@ delete-backward-and-predict() {
fi
}
delete-no-predict() {
predict-off
[[ $WIDGET != delete-char-or-list || -n $RBUFFER ]] && predict-off
zle .$WIDGET "$@"
}
# This is a helper function for autocompletion to prevent long lists
# of matches from forcing a "do you wish to see all ...?" prompt.
predict-limit-list() {
if [[ compstate[list_lines]+BUFFERLINES -gt LINES ]]; then
compstate[list]=''
compstate[force_list]=yes
fi
}
# Handle zsh autoloading conventions
[[ -o kshautoload ]] || predict-on "$@"