aboutsummaryrefslogtreecommitdiff
path: root/autoload/lsp_settings.vim
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2020-01-17 20:42:45 +0900
committerGitHub <noreply@github.com>2020-01-17 20:42:45 +0900
commit92500966993fd19b8fe3050b1c2d9572a46151a6 (patch)
treee1ef3a8bcd53a9c3412e766527afacc861c912f1 /autoload/lsp_settings.vim
parent609bbac849fe18c09fa08c8b26851ac14e0802e9 (diff)
parent25297109db64dbdc6b14b6c4d7bd5891c66b5f23 (diff)
downloadvim-lsp-settings-92500966993fd19b8fe3050b1c2d9572a46151a6.tar.gz
vim-lsp-settings-92500966993fd19b8fe3050b1c2d9572a46151a6.tar.bz2
vim-lsp-settings-92500966993fd19b8fe3050b1c2d9572a46151a6.zip
Merge pull request #89 from mattn/fsharp-language-server
Fsharp language server
Diffstat (limited to 'autoload/lsp_settings.vim')
-rw-r--r--autoload/lsp_settings.vim15
1 files changed, 15 insertions, 0 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index e710d9a..08a8b3e 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -76,3 +76,18 @@ function! lsp_settings#root_uri(pattern) abort
endif
return lsp#utils#path_to_uri(l:dir)
endfunction
+
+function! lsp_settings#autocd(server_info) abort
+ if !has_key(a:server_info, 'root_uri')
+ return
+ endif
+ if type(a:server_info['root_uri']) ==# v:t_func
+ let l:root_uri = a:server_info['root_uri'](a:server_info)
+ else
+ let l:root_uri = a:server_info['root_uri']
+ endif
+ let l:path = lsp#utils#uri_to_path(l:root_uri)
+ if isdirectory(l:path)
+ exe 'cd' l:path
+ endif
+endfunction