Merged unite source by Skeept.
This commit is contained in:
commit
04ef0f8f5c
56
autoload/unite/sources/ultisnips.vim
Normal file
56
autoload/unite/sources/ultisnips.vim
Normal file
@ -0,0 +1,56 @@
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let s:unite_source = {
|
||||
\ 'name': 'ultisnips',
|
||||
\ 'hooks': {},
|
||||
\ 'action_table': {},
|
||||
\ 'default_action': 'expand',
|
||||
\ }
|
||||
|
||||
let s:unite_source.action_table.preview = {
|
||||
\ 'description' : 'ultisnips snippets',
|
||||
\ 'is_quit' : 0,
|
||||
\ }
|
||||
|
||||
function! s:unite_source.action_table.preview.func(candidate)
|
||||
" no nice preview at this point, cannot get snippet text
|
||||
let snippet_preview = a:candidate['word']
|
||||
echo snippet_preview
|
||||
endfunction
|
||||
|
||||
let s:unite_source.action_table.expand = {
|
||||
\ 'description': 'expand the current snippet',
|
||||
\ 'is_quit': 1
|
||||
\}
|
||||
|
||||
function! s:unite_source.action_table.expand.func(candidate)
|
||||
let delCurrWord = (getline(".")[col(".")-1] == " ") ? "" : "diw"
|
||||
exe "normal " . delCurrWord . "a" . a:candidate['trigger'] . " "
|
||||
call UltiSnips#ExpandSnippet()
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:unite_source.gather_candidates(args, context)
|
||||
let default_val = {'word': '', 'unite__abbr': '', 'is_dummy': 0, 'source':
|
||||
\ 'ultisnips', 'unite__is_marked': 0, 'kind': 'command', 'is_matched': 1,
|
||||
\ 'is_multiline': 0}
|
||||
let snippet_list = UltiSnips#SnippetsInCurrentScope()
|
||||
let canditates = []
|
||||
for snip in items(snippet_list)
|
||||
let curr_val = copy(default_val)
|
||||
let curr_val['word'] = snip[0] . " " . snip[1]
|
||||
let curr_val['trigger'] = snip[0]
|
||||
call add(canditates, curr_val)
|
||||
endfor
|
||||
return canditates
|
||||
endfunction
|
||||
|
||||
function! unite#sources#ultisnips#define()
|
||||
return s:unite_source
|
||||
endfunction
|
||||
|
||||
"unlet s:unite_source
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
@ -236,7 +236,7 @@ vimrc file. >
|
||||
let g:UltiSnipsJumpBackwardTrigger="<s-tab>"
|
||||
|
||||
UltiSnips will only map the jump triggers while a snippet is active to
|
||||
interfer as little as possible with other mappings.
|
||||
interfer as little as possible with other mappings.
|
||||
|
||||
The default value for g:UltiSnipsJumpBackwardTrigger interferes with the
|
||||
built-in complete function: |i_CTRL-X_CTRL-K|. A workaround is to add the
|
||||
@ -1284,6 +1284,22 @@ offers a really nice completion dialogue for snippets.
|
||||
neocomplete - UltiSnips ships with a source for neocomplete and therefore
|
||||
offers out of the box completion dialogue support for it too.
|
||||
|
||||
unite - UltiSnips has a source for unite. As an example of how you can use the
|
||||
it add the following function and mappings to your vimrc: >
|
||||
|
||||
function! UltiSnipsCallUnite()
|
||||
Unite -start-insert -winheight=100 -immediately -no-empty ultisnips
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
inoremap <silent> <F12> <C-R>=(pumvisible()? "\<LT>C-E>":"")<CR><C-R>=UltiSnipsCallUnite()<CR>
|
||||
nnoremap <silent> <F12> a<C-R>=(pumvisible()? "\<LT>C-E>":"")<CR><C-R>=UltiSnipsCallUnite()<CR>
|
||||
|
||||
When typing <F12> in either insert or normal mode you will get the unite
|
||||
interface with matching snippets. Pressing enter will expand the corresponding
|
||||
snippet. If only one snippet matches the text in front of the cursor will be
|
||||
expanded when you press the <F12> key.
|
||||
|
||||
Supertab - UltiSnips has built-in support for Supertab. Just use a recent
|
||||
enough version of both plugins and <tab> will either expand a snippet or defer
|
||||
to Supertab for expansion.
|
||||
|
14
test.py
14
test.py
@ -3406,6 +3406,20 @@ class Plugin_Neocomplete_BugTest(_VimTest):
|
||||
vim_config.append('let g:neocomplete#enable_auto_delimiter = 1')
|
||||
vim_config.append('let g:neocomplete#enable_refresh_always = 1')
|
||||
# End: Plugin: Neocomplete #}}}
|
||||
# Plugin: unite {{{#
|
||||
class Plugin_unite_BugTest(_VimTest):
|
||||
plugins = ["Shougo/unite.vim"]
|
||||
snippets = ("t", "Hello", "", "w")
|
||||
keys = "iab\\ t=UltiSnipsCallUnite()\n"
|
||||
wanted = "iab\\ Hello "
|
||||
|
||||
def _extra_options_pre_init(self, vim_config):
|
||||
vim_config.append(r'set iskeyword+=\\ ')
|
||||
vim_config.append('function! UltiSnipsCallUnite()')
|
||||
vim_config.append(' Unite -start-insert -winheight=100 -immediately -no-empty ultisnips')
|
||||
vim_config.append(' return ""')
|
||||
vim_config.append('endfunction')
|
||||
# End: Plugin: unite #}}}
|
||||
# Plugin: Supertab {{{#
|
||||
class Plugin_SuperTab_SimpleTest(_VimTest):
|
||||
plugins = ["ervandew/supertab"]
|
||||
|
Loading…
Reference in New Issue
Block a user