" hook_add {{{ nnoremap : :<Cmd>call ddc#enable_cmdline_completion()<CR> xnoremap : :<Cmd>call ddc#enable_cmdline_completion()<CR> autocmd vimrc User SearchxEnter call ddc#enable_cmdline_completion() " }}} " hook_source {{{ " based on https://github.com/kuuote/dotvim/blob/0e8dd6a4/conf/ddc.toml#L170 autocmd vimrc OptionSet buftype \ : if &buftype ==# 'acwrite' || bufname() ==# 'mininote' \ | call ddc#custom#patch_buffer('specialBufferCompletion', v:true) \ | endif " key mappings inoremap <expr> <C-n> pum#visible() ? '<Cmd>call pum#map#select_relative(+1)<CR>' : '<Down>' inoremap <expr> <C-p> pum#visible() ? '<Cmd>call pum#map#select_relative(-1)<CR>' : '<Up>' cnoremap <expr> <C-n> pum#visible() ? '<Cmd>call pum#map#select_relative(+1)<CR>' : '<Down>' cnoremap <expr> <C-p> pum#visible() ? '<Cmd>call pum#map#select_relative(-1)<CR>' : '<Up>' cnoremap <expr> <Tab> pum#visible() ? '<Cmd>call pum#map#select_relative(+1)<CR>' : ddc#map#manual_complete() inoremap <expr> <C-e> pum#visible() ? '<Cmd>call pum#map#cancel()<CR>' : user#is_at_end() ? '<C-e>' : '<End>' inoremap <expr> <C-y> pum#visible() ? '<Cmd>call pum#map#confirm()<CR>' : '<C-r><C-p>"' cnoremap <expr> <C-e> pum#visible() ? '<Cmd>call pum#map#cancel()<CR>' : '<C-e>' cnoremap <expr> <C-y> pum#visible() ? '<Cmd>call pum#map#confirm()<CR>' : '<C-r><C-p>"' " emulate default mappings (see `:help ins-completion`) function! s:ddc_complete(...) abort return ddc#map#manual_complete(#{ sources: a:000 }) endfunction inoremap <expr> <C-x><C-l> <SID>ddc_complete('line') inoremap <expr> <C-x><C-n> <SID>ddc_complete('around') inoremap <expr> <C-x><C-f> <SID>ddc_complete('file') inoremap <expr> <C-x><C-d> <SID>ddc_complete('lsp') inoremap <expr> <C-x><C-v> <SID>ddc_complete('cmdline') inoremap <expr> <C-x><C-u> <SID>ddc_complete() inoremap <expr> <C-x><C-o> <SID>ddc_complete('omni') inoremap <expr> <C-x><C-s> <SID>ddc_complete('mocword') inoremap <expr> <C-x><C-t> <SID>ddc_complete('tmux') if bufname() =~# '^/tmp/\d\+\.md$' inoremap <buffer><expr> <C-x><C-g> <SID>ddc_complete('github_issue', 'github_pull_request') endif call ddc#custom#load_config(expand('$DEIN_DIR/settings/ddc.ts')) call ddc#enable(#{ \ context_filetype: has('nvim') ? 'treesitter': 'context_filetype', \ }) " }}} " hook_post_update {{{ call ddc#set_static_import_path() echomsg '[ddc] ddc#set_static_import_path() called' " }}}