diff options
-rw-r--r-- | autoload/lsp_settings.vim | 3 | ||||
-rw-r--r-- | plugin/lsp_setup.vim | 3 | ||||
-rw-r--r-- | setting/kotlin-language-server.vim | 12 |
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 |