aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2020-02-20 00:24:10 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2020-02-20 00:24:10 +0900
commitd31db49d279bd2b637743f669f1939ecc9759161 (patch)
treed14cd2e8dc89196eca199d976f009f2bb04a2ea3
parent0e71903b66fdf01d0386ba1b653174dfcec7f21c (diff)
downloadvim-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.vim18
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)