command/cmd must not be lambda

This commit is contained in:
Yasuhiro Matsumoto
2019-12-16 15:13:18 +09:00
parent 5ed5dc7239
commit ec4fc45442
17 changed files with 24 additions and 17 deletions

View File

@@ -53,6 +53,9 @@ function! s:vimlsp_installer() abort
return '' return ''
endif endif
let l:command = s:vimlsp_settings_get(l:setting[0].command, 'cmd', l:setting[0].command) let l:command = s:vimlsp_settings_get(l:setting[0].command, 'cmd', l:setting[0].command)
if type(l:command) == type([])
let l:command = l:command[0]
endif
let l:command = printf('%s/install-%s', s:installer_dir, l:command) let l:command = printf('%s/install-%s', s:installer_dir, l:command)
if has('win32') if has('win32')
let l:command = substitute(l:command, '/', '\', 'g') . '.cmd' let l:command = substitute(l:command, '/', '\', 'g') . '.cmd'
@@ -101,7 +104,11 @@ function! s:vimlsp_setting() abort
continue continue
endif endif
for l:server in s:settings[l:ft] for l:server in s:settings[l:ft]
if s:executable(s:vimlsp_settings_get(l:server.command, 'cmd', l:server.command)) let l:command = s:vimlsp_settings_get(l:server.command, 'cmd', l:server.command)
if type(l:command) == type([])
let l:command = l:command[0]
endif
if s:executable(l:command)
let l:script = printf('%s/%s.vim', s:settings_dir, l:server.command) let l:script = printf('%s/%s.vim', s:settings_dir, l:server.command)
if filereadable(l:script) if filereadable(l:script)
exe 'source' l:script exe 'source' l:script

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_clangd
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'clangd', \ 'name': 'clangd',
\ 'cmd': lsp_settings#get('clangd', 'cmd', {server_info->[lsp_settings#exec_path('clangd')]}), \ 'cmd': {server_info->lsp_settings#get('clangd', 'cmd', [lsp_settings#exec_path('clangd')])},
\ 'initialization_options': lsp_settings#get('clangd', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('clangd', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('clangd', 'whitelist', ['c', 'cpp', 'objc', 'objcpp']), \ 'whitelist': lsp_settings#get('clangd', 'whitelist', ['c', 'cpp', 'objc', 'objcpp']),
\ 'blacklist': lsp_settings#get('clangd', 'blacklist', []), \ 'blacklist': lsp_settings#get('clangd', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_clojure_lsp
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'clojure-lsp', \ 'name': 'clojure-lsp',
\ 'cmd': lsp_settings#get('clojure-lsp', 'cmd', {server_info->[lsp_settings#exec_path('clojure-lsp')]}), \ 'cmd': {server_info->lsp_settings#get('clojure-lsp', 'cmd', [lsp_settings#exec_path('clojure-lsp')])},
\ 'initialization_options': lsp_settings#get('clojure-lsp', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('clojure-lsp', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('clojure-lsp', 'whitelist', ['clojure']), \ 'whitelist': lsp_settings#get('clojure-lsp', 'whitelist', ['clojure']),
\ 'blacklist': lsp_settings#get('clojure-lsp', 'blacklist', []), \ 'blacklist': lsp_settings#get('clojure-lsp', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_css_languageserver
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'css-languageserver', \ 'name': 'css-languageserver',
\ 'cmd': lsp_settings#get('css-languageserver', 'cmd', {server_info->[lsp_settings#exec_path('css-languageserver'), '--stdio']}), \ 'cmd': {server_info->lsp_settings#get('css-languageserver', 'cmd', [lsp_settings#exec_path('css-languageserver'), '--stdio'])},
\ 'initialization_options': lsp_settings#get('css-languageserver', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('css-languageserver', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('css-languageserver', 'whitelist', ['css']), \ 'whitelist': lsp_settings#get('css-languageserver', 'whitelist', ['css']),
\ 'blacklist': lsp_settings#get('css-languageserver', 'blacklist', []), \ 'blacklist': lsp_settings#get('css-languageserver', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_eclipse_jdt_ls
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'eclipse-jdt-ls', \ 'name': 'eclipse-jdt-ls',
\ 'cmd': lsp_settings#get('eclipse-jdt-ls', 'cmd', {server_info->[lsp_settings#exec_path('eclipse-jdt-ls')]}), \ 'cmd': {server_info->lsp_settings#get('eclipse-jdt-ls', 'cmd', [lsp_settings#exec_path('eclipse-jdt-ls')])},
\ 'initialization_options': lsp_settings#get('eclipse-jdt-ls', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('eclipse-jdt-ls', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('eclipse-jdt-ls', 'whitelist', ['java']), \ 'whitelist': lsp_settings#get('eclipse-jdt-ls', 'whitelist', ['java']),
\ 'blacklist': lsp_settings#get('eclipse-jdt-ls', 'blacklist', []), \ 'blacklist': lsp_settings#get('eclipse-jdt-ls', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_emmylua_ls
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'emmylua-ls', \ 'name': 'emmylua-ls',
\ 'cmd': lsp_settings#get('emmylua-ls', 'cmd', {server_info->[lsp_settings#exec_path('emmylua-ls')]}), \ 'cmd': {server_info->lsp_settings#get('emmylua-ls', 'cmd', [lsp_settings#exec_path('emmylua-ls')])},
\ 'initialization_options': lsp_settings#get('emmylua-ls', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('emmylua-ls', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('emmylua-ls', 'whitelist', ['lua']), \ 'whitelist': lsp_settings#get('emmylua-ls', 'whitelist', ['lua']),
\ 'blacklist': lsp_settings#get('emmylua-ls', 'blacklist', []), \ 'blacklist': lsp_settings#get('emmylua-ls', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_gopls
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'gopls', \ 'name': 'gopls',
\ 'cmd': lsp_settings#get('gopls', 'cmd', {server_info->[lsp_settings#exec_path('gopls')]}), \ 'cmd': {server_info->lsp_settings#get('gopls', 'cmd', [lsp_settings#exec_path('gopls')])},
\ 'initialization_options': lsp_settings#get('gopls', 'initialization_options', {"diagnostics": "true"}), \ 'initialization_options': lsp_settings#get('gopls', 'initialization_options', {"diagnostics": "true"}),
\ 'whitelist': lsp_settings#get('gopls', 'whitelist', ['go']), \ 'whitelist': lsp_settings#get('gopls', 'whitelist', ['go']),
\ 'blacklist': lsp_settings#get('gopls', 'blacklist', []), \ 'blacklist': lsp_settings#get('gopls', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_html_languageserver
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'html-languageserver', \ 'name': 'html-languageserver',
\ 'cmd': lsp_settings#get('html-languageserver', 'cmd', {server_info->[lsp_settings#exec_path('html-languageserver'), '--stdio']}), \ 'cmd': {server_info->lsp_settings#get('html-languageserver', 'cmd', [lsp_settings#exec_path('html-languageserver'), '--stdio'])},
\ 'initialization_options': lsp_settings#get('html-languageserver', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('html-languageserver', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('html-languageserver', 'whitelist', ['html']), \ 'whitelist': lsp_settings#get('html-languageserver', 'whitelist', ['html']),
\ 'blacklist': lsp_settings#get('html-languageserver', 'blacklist', []), \ 'blacklist': lsp_settings#get('html-languageserver', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_intelephense_server
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'intelephense', \ 'name': 'intelephense',
\ 'cmd': lsp_settings#get('intelephense', 'cmd', {server_info->[lsp_settings#exec_path('intelephense-server'), '--stdio']}), \ 'cmd': {server_info->lsp_settings#get('intelephense', 'cmd', [lsp_settings#exec_path('intelephense-server'), '--stdio'])},
\ 'whitelist': lsp_settings#get('intelephense', 'whitelist', ['php']), \ 'whitelist': lsp_settings#get('intelephense', 'whitelist', ['php']),
\ 'blacklist': lsp_settings#get('intelephense', 'blacklist', []), \ 'blacklist': lsp_settings#get('intelephense', 'blacklist', []),
\ 'config': lsp_settings#get('intelephense', 'config', {}), \ 'config': lsp_settings#get('intelephense', 'config', {}),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_javascript_typescript_langserver
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'javascript-typescript-langserver', \ 'name': 'javascript-typescript-langserver',
\ 'cmd': lsp_settings#get('javascript-typescript-langserver', 'cmd', {server_info->[lsp_settings#exec_path('javascript-typescript-langserver'), '--stdio']}), \ 'cmd': {server_info->lsp_settings#get('javascript-typescript-langserver', 'cmd', [lsp_settings#exec_path('javascript-typescript-langserver'), '--stdio'])},
\ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))}, \ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))},
\ 'initialization_options': lsp_settings#get('javascript-typescript-langserver', 'initialization_options', {"diagnostics": "true"}), \ 'initialization_options': lsp_settings#get('javascript-typescript-langserver', 'initialization_options', {"diagnostics": "true"}),
\ 'whitelist': lsp_settings#get('javascript-typescript-langserver', 'whitelist', ['typescript', 'typescript.tsx']), \ 'whitelist': lsp_settings#get('javascript-typescript-langserver', 'whitelist', ['typescript', 'typescript.tsx']),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_kotlin_language_server
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'kotlin-language-server', \ 'name': 'kotlin-language-server',
\ 'cmd': lsp_settings#get('kotlin-language-server', 'cmd', {server_info->[lsp_settings#exec_path('kotlin-language-server')]}), \ 'cmd': {server_info->lsp_settings#get('kotlin-language-server', 'cmd', [lsp_settings#exec_path('kotlin-language-server')])},
\ 'initialization_options': lsp_settings#get('kotlin-language-server', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('kotlin-language-server', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('kotlin-language-server', 'whitelist', ['kotlin']), \ 'whitelist': lsp_settings#get('kotlin-language-server', 'whitelist', ['kotlin']),
\ 'blacklist': lsp_settings#get('kotlin-language-server', 'blacklist', []), \ 'blacklist': lsp_settings#get('kotlin-language-server', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_omnisharp-node-client
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'omnisharp-node-client', \ 'name': 'omnisharp-node-client',
\ 'cmd': lsp_settings#get('omnisharp-node-client', 'cmd', {server_info->[lsp_settings#exec_path('omnisharp-node-client')]}), \ 'cmd': {server_info->lsp_settings#get('omnisharp-node-client', 'cmd', [lsp_settings#exec_path('omnisharp-node-client')])},
\ 'initialization_options': lsp_settings#get('omnisharp-node-client', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('omnisharp-node-client', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('omnisharp-node-client', 'whitelist', ['cs']), \ 'whitelist': lsp_settings#get('omnisharp-node-client', 'whitelist', ['cs']),
\ 'blacklist': lsp_settings#get('omnisharp-node-client', 'blacklist', []), \ 'blacklist': lsp_settings#get('omnisharp-node-client', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_pyls
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'pyls', \ 'name': 'pyls',
\ 'cmd': lsp_settings#get('pyls', 'cmd', {server_info->[lsp_settings#exec_path('pyls')]}), \ 'cmd': {server_info->lsp_settings#get('pyls', 'cmd', [lsp_settings#exec_path('pyls')])},
\ 'initialization_options': lsp_settings#get('pyls', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('pyls', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('pyls', 'whitelist', ['python']), \ 'whitelist': lsp_settings#get('pyls', 'whitelist', ['python']),
\ 'blacklist': lsp_settings#get('pyls', 'blacklist', []), \ 'blacklist': lsp_settings#get('pyls', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_rls
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'rls', \ 'name': 'rls',
\ 'cmd': lsp_settings#get('rls', 'cmd', {server_info->[lsp_settings#exec_path('rls')]}), \ 'cmd': {server_info->lsp_settings#get('rls', 'cmd', [lsp_settings#exec_path('rls')])},
\ 'initialization_options': lsp_settings#get('rls', 'initialization_options', v:null), \ 'initialization_options': lsp_settings#get('rls', 'initialization_options', v:null),
\ 'whitelist': lsp_settings#get('rls', 'whitelist', ['rust']), \ 'whitelist': lsp_settings#get('rls', 'whitelist', ['rust']),
\ 'blacklist': lsp_settings#get('rls', 'blacklist', []), \ 'blacklist': lsp_settings#get('rls', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_solargraph
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'solargraph', \ 'name': 'solargraph',
\ 'cmd': lsp_settings#get('solargraph', 'cmd', {server_info->[lsp_settings#exec_path('solargraph'), 'stdio']}), \ 'cmd': {server_info->lsp_settings#get('solargraph', 'cmd', [lsp_settings#exec_path('solargraph'), 'stdio'])},
\ 'initialization_options': lsp_settings#get('solargraph', 'initialization_options', {"diagnostics": "true"}), \ 'initialization_options': lsp_settings#get('solargraph', 'initialization_options', {"diagnostics": "true"}),
\ 'whitelist': lsp_settings#get('solargraph', 'whitelist', ['ruby']), \ 'whitelist': lsp_settings#get('solargraph', 'whitelist', ['ruby']),
\ 'blacklist': lsp_settings#get('solargraph', 'blacklist', []), \ 'blacklist': lsp_settings#get('solargraph', 'blacklist', []),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_typescript_language_server
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'typescript-language-server', \ 'name': 'typescript-language-server',
\ 'cmd': lsp_settings#get('typescript-language-server', 'cmd', {server_info->[lsp_settings#exec_path('typescript-language-server'), '--stdio']}), \ 'cmd': {server_info->lsp_settings#get('typescript-language-server', 'cmd', [lsp_settings#exec_path('typescript-language-server'), '--stdio'])},
\ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))}, \ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))},
\ 'initialization_options': lsp_settings#get('typescript-language-server', 'initialization_options', {"diagnostics": "true"}), \ 'initialization_options': lsp_settings#get('typescript-language-server', 'initialization_options', {"diagnostics": "true"}),
\ 'whitelist': lsp_settings#get('typescript-language-server', 'whitelist', ['typescript', 'typescript.tsx']), \ 'whitelist': lsp_settings#get('typescript-language-server', 'whitelist', ['typescript', 'typescript.tsx']),

View File

@@ -2,7 +2,7 @@ augroup vimlsp_settings_vim_language_server
au! au!
autocmd User lsp_setup call lsp#register_server({ autocmd User lsp_setup call lsp#register_server({
\ 'name': 'vim-language-server', \ 'name': 'vim-language-server',
\ 'cmd': {server_info->[lsp_settings#exec_path('vim-language-server'), '--stdio']}, \ 'cmd': {server_info->lsp_settings#get('vim-language-server', 'cmd', [lsp_settings#exec_path('vim-language-server'), '--stdio'])},
\ 'initialization_options': { \ 'initialization_options': {
\ 'vimruntime': $VIMRUNTIME, \ 'vimruntime': $VIMRUNTIME,
\ 'runtimepath': &rtp, \ 'runtimepath': &rtp,