diff options
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/lsp_settings.vim | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 913c798..0b53209 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -333,8 +333,15 @@ function! s:vim_lsp_suggest_plugin() abort endfor endfunction +function! s:vim_lsp_load_or_suggest_delay(ft) abort + if get(g:, 'vim_lsp_settings_filetype_no_delays', 0) + return s:vim_lsp_load_or_suggest(a:ft) + endif + call timer_start(0, {timer -> s:vim_lsp_load_or_suggest(a:ft)}) +endfunction + function! s:vim_lsp_load_or_suggest(ft) abort - if !has_key(s:settings, a:ft) + if (a:ft !=# '_' && &filetype !=# a:ft) || !has_key(s:settings, a:ft) return endif @@ -431,7 +438,7 @@ function! lsp_settings#init() abort endif exe 'augroup' lsp_settings#utils#group_name(l:ft) autocmd! - exe 'autocmd FileType' l:ft printf("call s:vim_lsp_load_or_suggest('%s')", l:ft) + exe 'autocmd FileType' l:ft 'call' printf("s:vim_lsp_load_or_suggest_delay('%s')", l:ft) augroup END endfor augroup vim_lsp_suggest |