File tree Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Expand file tree Collapse file tree 1 file changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -842,3 +842,24 @@ endfunction
842
842
function ! lsp#get_buffer_first_error_line () abort
843
843
return lsp#ui#vim#diagnostics#get_buffer_first_error_line ()
844
844
endfunction
845
+
846
+ function ! s: merge_dict (dict_old, dict_new) abort
847
+ for l: key in keys (a: dict_new )
848
+ if has_key (a: dict_old , l: key ) && type (a: dict_old [l: key ]) == v: t_dict && type (a: dict_new [l: key ]) == v: t_dict
849
+ call s: merge_dict (a: dict_old [l: key ], a: dict_new [l: key ])
850
+ else
851
+ let a: dict_old [l: key ] = a: dict_new [l: key ]
852
+ endif
853
+ endfor
854
+ endfunction
855
+
856
+ function ! lsp#update_workspace_config (server_name, workspace_config) abort
857
+ let l: server = s: servers [a: server_name ]
858
+ let l: server_info = l: server [' server_info' ]
859
+ if has_key (l: server_info , ' workspace_config' )
860
+ call s: merge_dict (l: server_info [' workspace_config' ], a: workspace_config )
861
+ else
862
+ let l: server_info [' workspace_config' ] = a: workspace_config
863
+ endif
864
+ call s: ensure_conf (bufnr (' %' ), a: server_name , function (' s:Noop' ))
865
+ endfunction
You can’t perform that action at this time.
0 commit comments