Skip to content

Commit 9dc382c

Browse files
authored
Send workspace_config only if changed (#1137)
1 parent bba0f45 commit 9dc382c

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

autoload/lsp.vim

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -616,12 +616,12 @@ endfunction
616616
function! s:ensure_conf(buf, server_name, cb) abort
617617
let l:server = s:servers[a:server_name]
618618
let l:server_info = l:server['server_info']
619-
if has_key(l:server_info, 'workspace_config')
620-
let l:workspace_config = l:server_info['workspace_config']
619+
if has_key(l:server_info, 'workspace_config') && !get(l:server_info, '_workspace_config_sent', v:false)
620+
let l:server_info['_workspace_config_sent'] = v:true
621621
call s:send_notification(a:server_name, {
622622
\ 'method': 'workspace/didChangeConfiguration',
623623
\ 'params': {
624-
\ 'settings': l:workspace_config,
624+
\ 'settings': l:server_info['workspace_config'],
625625
\ }
626626
\ })
627627
endif
@@ -1195,6 +1195,7 @@ function! lsp#update_workspace_config(server_name, workspace_config) abort
11951195
else
11961196
let l:server_info['workspace_config'] = a:workspace_config
11971197
endif
1198+
let l:server_info['_workspace_config_sent'] = v:false
11981199
call s:ensure_conf(bufnr('%'), a:server_name, function('s:Noop'))
11991200
endfunction
12001201

0 commit comments

Comments
 (0)