[[plugins]] repo = 'LumaKernel/ddc-file' hook_add = ''' call add(g:vimrc#ddc_sources, [1, 'file']) let g:vimrc#ddc_source_options.file = { \ 'mark': 'F', \ 'isVolatile': v:true, \ 'forceCompletionPattern': '\S/\S*', \ } ''' [[plugins]] repo = 'Shougo/ddc-around' hook_add = ''' call add(g:vimrc#ddc_sources, [2, 'around']) let g:vimrc#ddc_source_options.around = {'mark': 'A'} ''' [[plugins]] repo = 'Shougo/ddc-matcher_head' hook_add = ''' let g:vimrc#ddc_source_options['_'] = get(g:vimrc#ddc_source_options, '_', {}) let g:vimrc#ddc_source_options['_']['matchers'] = ['matcher_head'] ''' [[plugins]] repo = 'Shougo/ddc-sorter_rank' hook_add = ''' let g:vimrc#ddc_source_options['_'] = get(g:vimrc#ddc_source_options, '_', {}) let g:vimrc#ddc_source_options['_']['sorters'] = ['sorter_rank'] ''' [[plugins]] repo = 'Shougo/ddc.vim' hook_source = ''' let g:vimrc#ddc_sources_sorted = sort(map(g:vimrc#ddc_sources, 'v:val[1]')) " 各sourceのhook_addでg:vimrc#ddc_sourcesへの追加を行い、ddc.vimのhook_sourceでまとめて処理する call ddc#custom#patch_global('sources', g:vimrc#ddc_sources_sorted) call ddc#custom#patch_global('sourceOptions', g:vimrc#ddc_source_options) call ddc#custom#patch_global('completionMenu', 'pum.vim') call ddc#custom#patch_global('backspaceCompletion', v:true) autocmd VimEnter * doautocmd User vimrc-ddc autocmd VimEnter * call ddc#enable() ''' [[plugins]] repo = 'Shougo/neco-vim' hook_add = ''' function! s:setup_necovim() abort call ddc#custom#patch_filetype(['vim'], 'sources', ['necovim'] + g:vimrc#ddc_sources_sorted) endfunction autocmd User vimrc-ddc call s:setup_necovim() ''' [[plugins]] repo = 'Shougo/pum.vim' hook_add = ''' inoremap call pum#map#insert_relative(+1) inoremap call pum#map#insert_relative(-1) inoremap call pum#map#insert_relative(+1) inoremap call pum#map#insert_relative(-1) inoremap call pum#map#confirm() inoremap call pum#map#cancel() ''' [[plugins]] repo = 'matsui54/ddc-buffer' hook_add = ''' call add(g:vimrc#ddc_sources, [2, 'buffer']) let g:vimrc#ddc_source_options.buffer = {'mark': 'B'} '''