aboutsummaryrefslogtreecommitdiff
path: root/autoload/lsp_settings.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/lsp_settings.vim')
-rw-r--r--autoload/lsp_settings.vim13
1 files changed, 13 insertions, 0 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index 7fee88f..df2a60f 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -358,6 +358,19 @@ function! s:vim_lsp_load_or_suggest(ft) abort
return
endif
+ try
+ let l:root = lsp#utils#find_nearest_parent_directory('.', '.vim-lsp-settings')
+ if !empty(l:root) && filereadable(l:root . '/config.json')
+ let l:config = json_decode(join(readfile(l:root . '/config.json'), "\n"))
+ if has_key(g:, 'lsp_settings')
+ call lsp_settings#utils#merge(g:lsp_settings, l:config)
+ else
+ let g:lsp_settings = l:config
+ endif
+ endif
+ catch
+ endtry
+
if get(g:, 'lsp_loaded', 0)
for l:server in s:settings[a:ft]
let l:config = lsp_settings#server_config(l:server.command)