aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/lsp_settings/profile.vim8
1 files changed, 7 insertions, 1 deletions
diff --git a/autoload/lsp_settings/profile.vim b/autoload/lsp_settings/profile.vim
index 4fd9315..771eef0 100644
--- a/autoload/lsp_settings/profile.vim
+++ b/autoload/lsp_settings/profile.vim
@@ -4,7 +4,13 @@ function! lsp_settings#profile#load_local() abort
if !empty(l:root) && filereadable(l:root . '/settings.json')
let l:settings = json_decode(join(readfile(l:root . '/settings.json'), "\n"))
if has_key(g:, 'lsp_settings')
- let g:lsp_settings = extend(g:lsp_settings, l:settings)
+ for [l:k, l:v] in items(l:settings)
+ if has_key(g:lsp_settings, l:k)
+ let g:lsp_settings[l:k] = extend(g:lsp_settings[l:k], l:v)
+ else
+ let g:lsp_settings[l:k] = l:v
+ endif
+ endfor
else
let g:lsp_settings = l:settings
endif