let s:save_cpo = &cpo set cpo&vim let s:source = { \ 'name' : 'ultisnips', \ 'kind' : 'keyword', \ 'mark' : '[US]', \ 'rank' : 8, \ 'matchers' : \ (g:neocomplete#enable_fuzzy_completion ? \ ['matcher_fuzzy'] : ['matcher_head']), \ } function! s:source.gather_candidates(context) abort let suggestions = [] let snippets = UltiSnips#SnippetsInCurrentScope() for trigger in keys(snippets) let description = get(snippets, trigger) call add(suggestions, { \ 'word' : trigger, \ 'menu' : self.mark . ' '. description \ }) endfor return suggestions endfunction function! neocomplete#sources#ultisnips#define() abort return s:source endfunction let &cpo = s:save_cpo unlet s:save_cpo