blob: 63dd8bd95bfa47fa331d35752f321786cfb8e91b (
plain)
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
|
" global contacts list
let s:contacts = []
function! coc#source#khard#init() abort
" read contacts once on init
for line in systemlist('khard email --remove-first-line --parsable')
let [address, name, type] = split(line, "\t")
call add(s:contacts, printf('%s <%s>', name, address))
endfor
" plugin config
return {
\ 'priority': 9,
\ 'shortcut': 'khard',
\ 'filetypes': ['mail'],
\}
endfunction
function coc#source#khard#should_complete(option)
" only complete addresses on to, cc, bcc and reply-to header lines
return tolower(a:option['line']) =~ '^\(to\|cc\|bcc\|reply-to\):'
endfunction
function! coc#source#khard#complete(option, cb) abort
" init already loaded all the contacts, just forward them to CoC
call a:cb(s:contacts)
endfunction
|