mirror of
https://github.com/prabirshrestha/vim-lsp.git
synced 2025-12-14 20:35:59 +01:00
no text document did save delay by default (#629)
This commit is contained in:
@@ -213,10 +213,14 @@ function! s:on_text_document_did_save() abort
|
||||
if getbufvar(l:buf, '&buftype') ==# 'terminal' | return | endif
|
||||
call lsp#log('s:on_text_document_did_save()', l:buf)
|
||||
for l:server_name in lsp#get_whitelisted_servers(l:buf)
|
||||
" We delay the callback by one loop iteration as calls to ensure_flush
|
||||
" can introduce mmap'd file locks that linger on Windows and collide
|
||||
" with the second lang server call preventing saves (see #455)
|
||||
call s:ensure_flush(l:buf, l:server_name, {result->timer_start(0, {timer->s:call_did_save(l:buf, l:server_name, result, function('s:Noop'))})})
|
||||
if g:lsp_text_document_did_save_delay >= 0
|
||||
" We delay the callback by one loop iteration as calls to ensure_flush
|
||||
" can introduce mmap'd file locks that linger on Windows and collide
|
||||
" with the second lang server call preventing saves (see #455)
|
||||
call s:ensure_flush(l:buf, l:server_name, {result->timer_start(g:lsp_text_document_did_save_delay, {timer->s:call_did_save(l:buf, l:server_name, result, function('s:Noop'))})})
|
||||
else
|
||||
call s:ensure_flush(l:buf, l:server_name, {result->s:call_did_save(l:buf, l:server_name, result, function('s:Noop'))})
|
||||
endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ CONTENTS *vim-lsp-contents*
|
||||
g:lsp_hover_conceal |g:lsp_hover_conceal|
|
||||
g:lsp_ignorecase |g:lsp_ignorecase|
|
||||
g:lsp_log_file |g:lsp_log_file|
|
||||
g:lsp_text_document_did_save_delay |g:lsp_text_document_did_save_delay|
|
||||
Functions |vim-lsp-functions|
|
||||
lsp#enable |lsp#enable()|
|
||||
lsp#disable |lsp#disable()|
|
||||
@@ -567,6 +568,14 @@ g:lsp_log_file *g:lsp_log_file*
|
||||
let g:lsp_log_file = ''
|
||||
let g:lsp_log_file = expand('~/vim-lsp.log')
|
||||
|
||||
g:lsp_text_document_did_save_delay *g:lsp_text_document_did_save_delay*
|
||||
Type: |Number|
|
||||
Default: `-1`
|
||||
|
||||
The waiting time in milliseconds before sending textDocument/didSave to
|
||||
LSP servers, -1 by default means no delay. If >= 0, will delay using
|
||||
|timer_start()| with {time} is the number.
|
||||
|
||||
|
||||
==============================================================================
|
||||
FUNCTIONS *vim-lsp-functions*
|
||||
|
||||
@@ -39,6 +39,7 @@ let g:lsp_signature_help_enabled = get(g:, 'lsp_signature_help_enabled', 1)
|
||||
let g:lsp_fold_enabled = get(g:, 'lsp_fold_enabled', 1)
|
||||
let g:lsp_hover_conceal = get(g:, 'lsp_hover_conceal', 1)
|
||||
let g:lsp_ignorecase = get(g:, 'lsp_ignorecase', &ignorecase)
|
||||
let g:lsp_text_document_did_save_delay = get(g:, 'lsp_text_document_did_save_delay', -1)
|
||||
|
||||
let g:lsp_get_vim_completion_item = get(g:, 'lsp_get_vim_completion_item', [function('lsp#omni#default_get_vim_completion_item')])
|
||||
let g:lsp_get_supported_capabilities = get(g:, 'lsp_get_supported_capabilities', [function('lsp#default_get_supported_capabilities')])
|
||||
|
||||
Reference in New Issue
Block a user