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