aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/lsp_settings.vim5
-rw-r--r--setting.json12
-rw-r--r--setting/eclipse-jdt-ls.vim12
-rw-r--r--setting/emmylua-ls.vim12
4 files changed, 35 insertions, 6 deletions
diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim
index 4d66b7f..681caa3 100644
--- a/autoload/lsp_settings.vim
+++ b/autoload/lsp_settings.vim
@@ -1,5 +1,5 @@
function! lsp_settings#get(name, key, default) abort
- let l:config = get(g:, 'lsp_settings_extra_paths', {})
+ let l:config = get(g:, 'lsp_settings', {})
if !has_key(l:config, a:name)
if !has_key(l:config, '*')
return a:default
@@ -18,7 +18,7 @@ function! lsp_settings#exec_path(cmd) abort
if executable(a:cmd)
return a:cmd
endif
- let l:paths = get(g:, 'lsp_settings_paths', '')
+ let l:paths = get(g:, 'lsp_settings_extra_paths', '')
if !has('win32')
return !empty(globpath(l:paths, a:cmd))
endif
@@ -36,4 +36,3 @@ function! lsp_settings#exec_path(cmd) abort
endif
return ''
endfunction
-
diff --git a/setting.json b/setting.json
index 120237d..0eceab6 100644
--- a/setting.json
+++ b/setting.json
@@ -64,19 +64,25 @@
"java": [
{
"command": "eclipse-jdt-ls",
- "requires": []
+ "requires": [
+ "java"
+ ]
}
],
"kotlin": [
{
"command": "kotlin-language-server",
- "requires": []
+ "requires": [
+ "java"
+ ]
}
],
"lua": [
{
"command": "emmylua-ls",
- "requires": []
+ "requires": [
+ "java"
+ ]
}
],
"vim": [
diff --git a/setting/eclipse-jdt-ls.vim b/setting/eclipse-jdt-ls.vim
new file mode 100644
index 0000000..5a6221b
--- /dev/null
+++ b/setting/eclipse-jdt-ls.vim
@@ -0,0 +1,12 @@
+augroup vimlsp_settings_eclipse_jdt_ls
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'eclipse-jdt-ls',
+ \ 'cmd': lsp_settings#get('eclipse-jdt-ls', 'cmd', {server_info->[lsp_settings#exec_path('eclipse-jdt-ls')]}),
+ \ 'initialization_options': lsp_settings#get('eclipse-jdt-ls', 'initialization_options', v:null),
+ \ 'whitelist': lsp_settings#get('eclipse-jdt-ls', 'whitelist', ['java']),
+ \ 'blacklist': lsp_settings#get('eclipse-jdt-ls', 'blacklist', []),
+ \ 'config': lsp_settings#get('eclipse-jdt-ls', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('eclipse-jdt-ls', 'workspace_config', {}),
+ \ })
+augroup END
diff --git a/setting/emmylua-ls.vim b/setting/emmylua-ls.vim
new file mode 100644
index 0000000..08f94ac
--- /dev/null
+++ b/setting/emmylua-ls.vim
@@ -0,0 +1,12 @@
+augroup vimlsp_settings_emmylua_ls
+ au!
+ autocmd User lsp_setup call lsp#register_server({
+ \ 'name': 'emmylua-ls',
+ \ 'cmd': lsp_settings#get('emmylua-ls', 'cmd', {server_info->[lsp_settings#exec_path('emmylua-ls')]}),
+ \ 'initialization_options': lsp_settings#get('emmylua-ls', 'initialization_options', v:null),
+ \ 'whitelist': lsp_settings#get('emmylua-ls', 'whitelist', ['lua']),
+ \ 'blacklist': lsp_settings#get('emmylua-ls', 'blacklist', []),
+ \ 'config': lsp_settings#get('emmylua-ls', 'config', {}),
+ \ 'workspace_config': lsp_settings#get('emmylua-ls', 'workspace_config', {}),
+ \ })
+augroup END