Load snippets as soon as filetype is set. This avoids a delay in the first expansion in a file
This commit is contained in:
parent
874cb89401
commit
8a7af50154
@ -77,7 +77,7 @@ if !exists("g:UltiSnipsSnippetDirectories")
|
|||||||
endif
|
endif
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
"" Global Commands {{{
|
" Global Commands {{{
|
||||||
function! UltiSnipsEdit(...)
|
function! UltiSnipsEdit(...)
|
||||||
if a:0 == 1 && a:1 != ''
|
if a:0 == 1 && a:1 != ''
|
||||||
let type = a:1
|
let type = a:1
|
||||||
@ -101,7 +101,7 @@ endfunction
|
|||||||
command! -nargs=? UltiSnipsEdit :call UltiSnipsEdit(<q-args>)
|
command! -nargs=? UltiSnipsEdit :call UltiSnipsEdit(<q-args>)
|
||||||
"" }}}
|
"" }}}
|
||||||
|
|
||||||
"" FUNCTIONS {{{
|
" FUNCTIONS {{{
|
||||||
function! CompensateForPUM()
|
function! CompensateForPUM()
|
||||||
""" The CursorMovedI event is not triggered while the popup-menu is visible,
|
""" The CursorMovedI event is not triggered while the popup-menu is visible,
|
||||||
""" and it's by this event that UltiSnips updates its vim-state. The fix is
|
""" and it's by this event that UltiSnips updates its vim-state. The fix is
|
||||||
@ -144,6 +144,11 @@ function! UltiSnips_JumpForwards()
|
|||||||
return ""
|
return ""
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! UltiSnips_FileTypeChanged()
|
||||||
|
exec g:_uspy "UltiSnips_Manager.ensure_snippets_loaded()"
|
||||||
|
return ""
|
||||||
|
endfunction
|
||||||
|
|
||||||
function! UltiSnips_AddSnippet(trigger, value, descr, options, ...)
|
function! UltiSnips_AddSnippet(trigger, value, descr, options, ...)
|
||||||
" Takes the same arguments as SnippetManager.add_snippet:
|
" Takes the same arguments as SnippetManager.add_snippet:
|
||||||
" (trigger, value, descr, options, ft = "all", globals = None)
|
" (trigger, value, descr, options, ft = "all", globals = None)
|
||||||
@ -210,6 +215,7 @@ exec g:_uspy "UltiSnips_Manager.backward_trigger = vim.eval('g:UltiSnipsJumpBack
|
|||||||
au CursorMovedI * call UltiSnips_CursorMoved()
|
au CursorMovedI * call UltiSnips_CursorMoved()
|
||||||
au CursorMoved * call UltiSnips_CursorMoved()
|
au CursorMoved * call UltiSnips_CursorMoved()
|
||||||
au WinLeave * call UltiSnips_LeavingWindow()
|
au WinLeave * call UltiSnips_LeavingWindow()
|
||||||
|
au FileType * call UltiSnips_FileTypeChanged()
|
||||||
|
|
||||||
call UltiSnips_MapKeys()
|
call UltiSnips_MapKeys()
|
||||||
|
|
||||||
|
@ -780,7 +780,7 @@ class SnippetManager(object):
|
|||||||
before the cursor. If possible is True, then get all
|
before the cursor. If possible is True, then get all
|
||||||
possible matches.
|
possible matches.
|
||||||
"""
|
"""
|
||||||
filetypes = self._ensure_snippets_loaded()
|
filetypes = self.ensure_snippets_loaded()
|
||||||
|
|
||||||
found_snippets = []
|
found_snippets = []
|
||||||
for ft in filetypes:
|
for ft in filetypes:
|
||||||
@ -1027,7 +1027,7 @@ class SnippetManager(object):
|
|||||||
self._ensure_loaded(parent, checked)
|
self._ensure_loaded(parent, checked)
|
||||||
|
|
||||||
|
|
||||||
def _ensure_snippets_loaded(self):
|
def ensure_snippets_loaded(self):
|
||||||
""" Checks for changes in the list of snippet files or the contents
|
""" Checks for changes in the list of snippet files or the contents
|
||||||
of the snippet files and reloads them if necessary.
|
of the snippet files and reloads them if necessary.
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user