diff options
author | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-02-20 00:24:10 +0900 |
---|---|---|
committer | Yasuhiro Matsumoto <mattn.jp@gmail.com> | 2020-02-20 00:24:10 +0900 |
commit | d31db49d279bd2b637743f669f1939ecc9759161 (patch) | |
tree | d14cd2e8dc89196eca199d976f009f2bb04a2ea3 | |
parent | 0e71903b66fdf01d0386ba1b653174dfcec7f21c (diff) | |
download | vim-lsp-settings-d31db49d279bd2b637743f669f1939ecc9759161.tar.gz vim-lsp-settings-d31db49d279bd2b637743f669f1939ecc9759161.tar.bz2 vim-lsp-settings-d31db49d279bd2b637743f669f1939ecc9759161.zip |
Prefer user's configuration
-rw-r--r-- | autoload/lsp_settings.vim | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index fc6282b..e1d8e2b 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -174,15 +174,17 @@ function! lsp_settings#root_path(name) abort endfunction function! lsp_settings#root_uri(name) abort - let l:patterns = [] - for l:ft in sort(keys(s:settings)) - for l:conf in s:settings[l:ft] - if l:conf.command ==# a:name && has_key(l:conf, 'root_uri_patterns') - let l:patterns = l:conf['root_uri_patterns'] - break - endif + let l:patterns = lsp_settings#get(a:name, 'root_uri_patterns', []) + if empty(l:patterns) + for l:ft in sort(keys(s:settings)) + for l:conf in s:settings[l:ft] + if l:conf.command ==# a:name && has_key(l:conf, 'root_uri_patterns') + let l:patterns = l:conf['root_uri_patterns'] + break + endif + endfor endfor - endfor + endif let l:dir = lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), extend(l:patterns, g:lsp_settings_root_markers)) if empty(l:dir) |