Vim script eval completion for ddc.vim
let g:ddc_pick_items = []
function! s:pick(word)
call add(g:ddc_pick_items, { 'word': a:word })
if len(g:ddc_pick_items) > 100
let g:ddc_pick_items = g:ddc_pick_items[:-2]
endif
endfunction
call ddc#custom#alias('source', 'pick', 'eval')
call ddc#custom#patch_global('sources', ['pick'])
call ddc#custom#patch_global('sourceOptions', {
\ 'pick': {
\ 'mark': 'P',
\ 'isVolatile': v:true,
\ }})
call ddc#custom#patch_global('sourceParams', {
\ 'pick': {
\ 'expr': 'g:ddc_pick_items',
\ }})
nnoremap <silent> * :<c-u>call <sid>pick(expand('<cword>'))<cr>*