Awesome
UltiSnips integration for ncm2.
Features
- snippet completion source
- trigger dynamic snippet of completed item, e.g. parameter expansion.
Reaurements
user_data
found in vim8/nvim's documentation:help complete-item
Install
" based on ultisnips
Plug 'ncm2/ncm2-ultisnips'
Plug 'SirVer/ultisnips'
Vimrc Example
" Press enter key to trigger snippet expansion
" The parameters are the same as `:help feedkeys()`
inoremap <silent> <expr> <CR> ncm2_ultisnips#expand_or("\<CR>", 'n')
" c-j c-k for moving in snippet
" let g:UltiSnipsExpandTrigger = "<Plug>(ultisnips_expand)"
let g:UltiSnipsJumpForwardTrigger = "<c-j>"
let g:UltiSnipsJumpBackwardTrigger = "<c-k>"
let g:UltiSnipsRemoveSelectModeMappings = 0
:help UltiSnips
for more information on using UltiSnips.
API
If you need more control over the completed item's snippet expansion, you might need these two APIs to help program your key mapping.
ncm2_ultisnips#completed_is_snippet()
Checks whether the v:completed_item
is also a snippet.
<Plug>(ncm2_ultisnips_expand_completed)
Use this key to expand the completed snippet.