aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/lsp_settings.vim3
-rw-r--r--plugin/lsp_setup.vim3
-rw-r--r--setting/kotlin-language-server.vim12
3 files changed, 18 insertions, 0 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index 681caa3..c14166e 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -19,6 +19,9 @@ function! lsp_settings#exec_path(cmd) abort
return a:cmd
endif
let l:paths = get(g:, 'lsp_settings_extra_paths', '')
+ if type(l:paths) == type([])
+ let l:paths = join(l:paths, ',')
+ endif
if !has('win32')
return !empty(globpath(l:paths, a:cmd))
endif
diff --git a/plugin/lsp_setup.vim b/plugin/lsp_setup.vim
index ded904c..074de49 100644
--- a/plugin/lsp_setup.vim
+++ b/plugin/lsp_setup.vim
@@ -7,6 +7,9 @@ function! s:executable(cmd) abort
return a:cmd
endif
let l:paths = get(g:, 'lsp_settings_extra_paths', '')
+ if type(l:paths) == type([])
+ let l:paths = join(l:paths, ',')
+ endif
if !has('win32')
return !empty(globpath(l:paths, a:cmd))
endif
diff --git a/setting/kotlin-language-server.vim b/setting/kotlin-language-server.vim
new file mode 100644
index 0000000..ebc2c94
--- /dev/null
+++ b/setting/kotlin-language-server.vim
@@ -0,0 +1,12 @@
+augroup vimlsp_settings_kotlin_language_server
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'kotlin-language-server',
+ \ 'cmd': lsp_settings#get('kotlin-language-server', 'cmd', {server_info->[lsp_settings#exec_path('kotlin-language-server')]}),
+ \ 'initialization_options': lsp_settings#get('kotlin-language-server', 'initialization_options', v:null),
+ \ 'whitelist': lsp_settings#get('kotlin-language-server', 'whitelist', ['kotlin']),
+ \ 'blacklist': lsp_settings#get('kotlin-language-server', 'blacklist', []),
+ \ 'config': lsp_settings#get('kotlin-language-server', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('kotlin-language-server', 'workspace_config', {}),
+ \ })
+augroup END