Fixed options completion

This commit is contained in:
Thiago de Arruda 2013-10-29 08:17:03 -03:00
parent c6c97ab7bd
commit 3734b1eb4e
4 changed files with 12 additions and 8 deletions

View file

@ -151,14 +151,19 @@ paused-autosuggest-self-insert() {
fi
}
autosuggest-get-completion() {
autosuggest-get-suggested-completion() {
local words last_word
local suggestion=$(autosuggest-first-completion $LBUFFER)
words=(${(z)LBUFFER})
last_word=${words[-1]}
suggestion=${suggestion:$#last_word}
RBUFFER="$suggestion"
}
show-suggestion() {
[[ -n $ZLE_DISABLE_AUTOSUGGEST || $LBUFFER == '' ]] && return
zle .history-beginning-search-backward || autosuggest-get-completion
zle .history-beginning-search-backward ||\
autosuggest-get-suggested-completion
highlight-suggested-text
}

View file

@ -27,9 +27,9 @@ autosuggest-first-completion() {
zsocket $ZLE_AUTOSUGGEST_SOCKET &>/dev/null || return 1
local connection=$REPLY
local completion
print -u $connection $1
print -u $connection - $1
while read -u $connection completion; do
print ${completion}
print - ${completion}
done
# close fd
exec {connection}>&-

View file

@ -110,7 +110,7 @@ compadd () {
# description to be displayed afterwards
# (( $#__dscr >= $i )) && dscr=" -- ${${__dscr[$i]}##$__hits[$i] #}" || dscr=
print $IPREFIX$apre$hpre$__hits[$i]$dsuf$hsuf$asuf$dscr
print - $IPREFIX$apre$hpre$__hits[$i]$dsuf$hsuf$asuf$dscr
done

View file

@ -19,7 +19,7 @@ zpty -w z "source '${0:a:h}/completion-server-init.zsh'"
read-to-null() {
while zpty -r z chunk; do
[[ $chunk == *$'\0'* ]] && break
print -n $chunk
print -n - $chunk
done
}
@ -68,8 +68,7 @@ while zsocket -a $server &> /dev/null; do
# send the longest completion back to the client, strip the last
# non-printable character
if (( $#current )); then
local last_word=${${(z)prefix}[-1]}
print -u $connection ${current:$#last_word:-1}
print -u $connection - ${current:0:-1}
else
print -u $connection ''
fi