UltiSnips integration for ncm2.

rec

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.