From e55fa57320b284eb38392a5e57b2edee27d966a5 Mon Sep 17 00:00:00 2001
From: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Date: Thu, 20 Feb 2020 00:14:47 +0900
Subject: root_uri patterns should be configurable

---
 autoload/lsp_settings.vim | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

(limited to 'autoload')

diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index f1b163e..9183069 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -168,13 +168,22 @@ function! lsp_settings#exec_path(cmd) abort
   return ''
 endfunction
 
-function! lsp_settings#root_path(...) abort
+function! lsp_settings#root_path(name) abort
   let l:patterns = get(a:000, 0, [])
   return lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), extend(l:patterns, g:lsp_settings_root_markers))
 endfunction
 
-function! lsp_settings#root_uri(...) abort
-  let l:patterns = get(a:000, 0, [])
+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
+    endfor
+  endfor
+
   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)
     return lsp#utils#get_default_root_uri()
-- 
cgit v1.2.3-54-g00ecf