diff options
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/lsp_settings/profile.vim | 8 |
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 |