forked from z-shell/zgdbm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rime-complete
30 lines (27 loc) · 1.09 KB
/
rime-complete
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
local left=${LBUFFER##* }
local input=${left##[^!-~]#}
left=${left%%[\!-~]#}
[[ -n $input ]] &&
autoload -Uz rime-process-keys &&
rime-process-keys $rime_session_id $input ||
return
rime getContext $rime_session_id context_composition context_menu context_menu_candidates_text context_menu_candidates_comment
local cursor
zstyle -s ':rime:ui' cursor cursor ||
cursor='|'
local preedit="$context_composition[preedit]$cursor"
local -a candidates=($context_menu_candidates_text)
while (( context_menu[is_last_page] == 0 )); do
rime-process-keys $rime_session_id =
rime getContext $rime_session_id context_composition context_menu context_menu_candidates_text context_menu_candidates_comment
candidates+=($context_menu_candidates_text)
done
rime clearComposition $rime_session_id
_rime_context() {
# replace all characters to empty to skip filter of matcher
compadd -S '' -M "m:?=" -P "$left" -X "$preedit" -a candidates
}
_main_complete _rime_context
unset context_composition context_menu context_menu_candidates_text context_menu_candidates_comment
unfunction _rime_context
# ex: filetype=zsh