From e046c719864355821e52595c110b9798a715f8b3 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Fri, 24 Jan 2020 12:52:35 +0900 Subject: Support efm-langserver --- plugin/lsp_settings.vim | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 06969b0..2b3346e 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -32,8 +32,8 @@ function! s:executable(cmd) abort return 0 endfunction -function! s:vimlsp_installer() abort - let l:ft = tolower(split(&filetype, '\.')[0]) +function! s:vimlsp_installer(ft) abort + let l:ft = tolower(split(a:ft, '\.')[0]) if !has_key(s:settings, l:ft) return [] endif @@ -96,8 +96,8 @@ function! s:vimlsp_install_server_post(command, job, code, ...) abort endif endfunction -function! s:vimlsp_install_server() abort - let l:entry = s:vimlsp_installer() +function! s:vimlsp_install_server(ft) abort + let l:entry = s:vimlsp_installer(a:ft) if empty(l:entry) return endif @@ -119,8 +119,8 @@ function! s:vimlsp_install_server() abort endif endfunction -function! s:vimlsp_settings_suggest() abort - if empty(s:vimlsp_installer()) +function! s:vimlsp_settings_suggest(ft) abort + if empty(s:vimlsp_installer(a:ft)) return endif if exists(':LspInstallServer') !=# 2 @@ -128,7 +128,7 @@ function! s:vimlsp_settings_suggest() abort echohl Directory echomsg 'If enable Language Server, please do :LspInstallServer' echohl None - command! -buffer LspInstallServer call s:vimlsp_install_server() + command! -buffer LspInstallServer call s:vimlsp_install_server(&l:filetype) endif endfunction @@ -246,11 +246,11 @@ function! s:vimlsp_load_or_suggest(ft) abort endfor if l:found ==# 0 - call s:vimlsp_settings_suggest() + call s:vimlsp_settings_suggest(a:ft) else doautocmd User lsp_setup if exists(':LspInstallServer') !=# 2 - command! -buffer LspInstallServer call s:vimlsp_install_server() + command! -buffer LspInstallServer call s:vimlsp_install_server(&l:filetype) endif endif @@ -264,3 +264,4 @@ function! s:load_or_suggest_group_name(ft) abort endfunction call s:vimlsp_setting() +call s:vimlsp_load_or_suggest('_') -- cgit v1.2.3-54-g00ecf From 2b2cc38c2dc2f21321c8f99d25645735bb2db72e Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 27 Jan 2020 12:08:51 +0900 Subject: Disable efm-langserver in default --- plugin/lsp_settings.vim | 2 +- schema.json | 4 ++++ settings.json | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 3d4ee3d..ccab170 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -214,7 +214,7 @@ function! s:vimlsp_load_or_suggest(ft) abort let l:found = 0 for l:server in s:settings[a:ft] - if s:vimlsp_settings_get(l:server.command, 'disabled', 0) + if get(l:server, 'disabled', 0) || s:vimlsp_settings_get(l:server.command, 'disabled', 0) continue endif let l:default = get(g:, 'lsp_settings_' . a:ft, '') diff --git a/schema.json b/schema.json index c9ccb91..2537af6 100644 --- a/schema.json +++ b/schema.json @@ -23,6 +23,10 @@ "description": "define name of language server", "type": "string" }, + "diabled": { + "description": "disable this server", + "type": "boolean" + }, "requires": { "description": "define commands to install this language server", "type": "array", diff --git a/settings.json b/settings.json index 2c971d5..2baf0b4 100644 --- a/settings.json +++ b/settings.json @@ -3,6 +3,7 @@ "_": [ { "command": "efm-langserver", + "disabled": true, "requires": [] } ], -- cgit v1.2.3-54-g00ecf From 4f08a2b85dffda69867ea66038ea6e4f56efddfb Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 27 Jan 2020 12:13:49 +0900 Subject: Fix function name --- plugin/lsp_settings.vim | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 1416097..62ffc3b 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -41,7 +41,7 @@ function! s:executable(cmd) abort return 0 endfunction -function! s:vimlsp_installer(ft) abort +function! s:vim_lsp_installer(ft) abort let l:ft = tolower(split(a:ft, '\.')[0]) if !has_key(s:settings, l:ft) return [] @@ -105,8 +105,8 @@ function! s:vim_lsp_install_server_post(command, job, code, ...) abort endif endfunction -function! s:vimlsp_install_server(ft) abort - let l:entry = s:vimlsp_installer(a:ft) +function! s:vim_lsp_install_server(ft) abort + let l:entry = s:vim_lsp_installer(a:ft) if empty(l:entry) return endif @@ -128,8 +128,8 @@ function! s:vimlsp_install_server(ft) abort endif endfunction -function! s:vimlsp_settings_suggest(ft) abort - if empty(s:vimlsp_installer(a:ft)) +function! s:vim_lsp_settings_suggest(ft) abort + if empty(s:vim_lsp_installer(a:ft)) return endif if exists(':LspInstallServer') !=# 2 @@ -137,7 +137,7 @@ function! s:vimlsp_settings_suggest(ft) abort echohl Directory echomsg 'Please do :LspInstallServer to enable Language Server' echohl None - command! -buffer LspInstallServer call s:vimlsp_install_server(&l:filetype) + command! -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype) endif endfunction @@ -214,7 +214,7 @@ function! s:vim_lsp_load_or_suggest(ft) abort let l:found = 0 for l:server in s:settings[a:ft] - if get(l:server, 'disabled', 0) || s:vimlsp_settings_get(l:server.command, 'disabled', 0) + if get(l:server, 'disabled', 0) || s:vim_lsp_settings_get(l:server.command, 'disabled', 0) continue endif let l:default = get(g:, 'lsp_settings_' . a:ft, '') @@ -255,11 +255,11 @@ function! s:vim_lsp_load_or_suggest(ft) abort endfor if l:found ==# 0 - call s:vimlsp_settings_suggest(a:ft) + call s:vim_lsp_settings_suggest(a:ft) else doautocmd User lsp_setup if exists(':LspInstallServer') !=# 2 - command! -buffer LspInstallServer call s:vimlsp_install_server(&l:filetype) + command! -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype) endif endif @@ -272,5 +272,5 @@ function! s:load_or_suggest_group_name(ft) abort return printf('vim_lsp_suggest_%s', a:ft) endfunction -call s:vimlsp_setting() -call s:vimlsp_load_or_suggest('_') +call s:vim_lsp_settings() +call s:vim_lsp_load_or_suggest('_') -- cgit v1.2.3-54-g00ecf From 5d06f7504b505fdae63888d75d813e60d9675004 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 27 Jan 2020 12:31:49 +0900 Subject: Possible to install specified server --- plugin/lsp_settings.vim | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'plugin') diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 62ffc3b..70aec73 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -41,7 +41,7 @@ function! s:executable(cmd) abort return 0 endfunction -function! s:vim_lsp_installer(ft) abort +function! s:vim_lsp_installer(ft, ...) abort let l:ft = tolower(split(a:ft, '\.')[0]) if !has_key(s:settings, l:ft) return [] @@ -50,6 +50,10 @@ function! s:vim_lsp_installer(ft) abort if empty(l:server) return [] endif + let l:name = get(a:000, 0, '') + if !empty(l:name) + return filter(copy(l:server), 'l:conf.command ==# l:name') + endif let l:found = {} for l:conf in l:server let l:missing = 0 @@ -105,8 +109,8 @@ function! s:vim_lsp_install_server_post(command, job, code, ...) abort endif endfunction -function! s:vim_lsp_install_server(ft) abort - let l:entry = s:vim_lsp_installer(a:ft) +function! s:vim_lsp_install_server(ft, name) abort + let l:entry = s:vim_lsp_installer(a:ft, a:name) if empty(l:entry) return endif @@ -137,7 +141,7 @@ function! s:vim_lsp_settings_suggest(ft) abort echohl Directory echomsg 'Please do :LspInstallServer to enable Language Server' echohl None - command! -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype) + command! -nargs=? -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype, ) endif endfunction @@ -259,7 +263,7 @@ function! s:vim_lsp_load_or_suggest(ft) abort else doautocmd User lsp_setup if exists(':LspInstallServer') !=# 2 - command! -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype) + command! -nargs=? -buffer LspInstallServer call s:vim_lsp_install_server(&l:filetype, ) endif endif -- cgit v1.2.3-54-g00ecf