From 0b595998efedd45720b7ab304de4708403deb531 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sun, 2 Feb 2020 22:28:30 +0900 Subject: Fix installer of R --- installer/install-r-languageserver.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/installer/install-r-languageserver.sh b/installer/install-r-languageserver.sh index eeaa676..2c58df4 100755 --- a/installer/install-r-languageserver.sh +++ b/installer/install-r-languageserver.sh @@ -2,7 +2,8 @@ set -e -R --slave -e 'install.packages("languageserver")' +echo 'install.packages("languageserver")' > install.r +Rscript install.r cat <r-languageserver #!/usr/bin/env bash -- cgit v1.2.3-54-g00ecf From be98522b631e2a41e72bfae076ec3762c0d74c75 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 3 Feb 2020 09:54:55 +0900 Subject: Add powershell-languageserver --- installer/install-powershell-languageserver.cmd | 17 +++++++++++++++++ settings.json | 8 ++++++++ settings/powershell-languageserver.vim | 13 +++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 installer/install-powershell-languageserver.cmd create mode 100644 settings/powershell-languageserver.vim diff --git a/installer/install-powershell-languageserver.cmd b/installer/install-powershell-languageserver.cmd new file mode 100644 index 0000000..a9e3cc0 --- /dev/null +++ b/installer/install-powershell-languageserver.cmd @@ -0,0 +1,17 @@ +@echo off + +curl -o PowerShellEditorServices.zip "https://github.com/PowerShell/PowerShellEditorServices/releases/download/2.0.0-preview.8/PowerShellEditorServices.zip" +call "%~dp0\run_unzip.cmd" PowerShellEditorServices.zip +del PowerShellEditorServices.zip + +echo @echo off ^ + +setlocal ^ + +set PSES_BUNDLE_PATH=%%~dp0PowerShellEditorServices ^ + +set SESSION_TEMP_PATH=%%~dp0session ^ + +powershell -NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command "%%PSES_BUNDLE_PATH:\=/%%/PowerShellEditorServices/Start-EditorServices.ps1 -BundledModulesPath %%PSES_BUNDLE_PATH:\=/%% -LogPath %%SESSION_TEMP_PATH:\=/%%/logs.log -SessionDetailsPath %%SESSION_TEMP_PATH:\=/%%/session.json -FeatureFlags @() -AdditionalModules @() -HostName 'My Client' -HostProfileId 'myclient' -HostVersion 1.0.0 -Stdio -LogLevel Normal" ^ + +> powershell-languageserver.cmd diff --git a/settings.json b/settings.json index d7bf7bd..a90989a 100644 --- a/settings.json +++ b/settings.json @@ -342,6 +342,14 @@ ] } ], + "ps1": [ + { + "command": "powershell-languageserver", + "requires": [ + "powershell" + ] + } + ], "python": [ { "command": "pyls", diff --git a/settings/powershell-languageserver.vim b/settings/powershell-languageserver.vim new file mode 100644 index 0000000..380a7ba --- /dev/null +++ b/settings/powershell-languageserver.vim @@ -0,0 +1,13 @@ +augroup vimlsp_settings_powershell_languageserver + au! + LspRegisterServer { + \ 'name': 'powershell-languageserver', + \ 'cmd': {server_info->lsp_settings#get('powershell-languageserver', 'cmd', [lsp_settings#exec_path('powershell-languageserver')])}, + \ 'root_uri':{server_info->lsp_settings#get('powershell-languageserver', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, + \ 'initialization_options': lsp_settings#get('powershell-languageserver', 'initialization_options', v:null), + \ 'whitelist': lsp_settings#get('powershell-languageserver', 'whitelist', ['ps1']), + \ 'blacklist': lsp_settings#get('powershell-languageserver', 'blacklist', []), + \ 'config': lsp_settings#get('powershell-languageserver', 'config', {}), + \ 'workspace_config': lsp_settings#get('powershell-languageserver', 'workspace_config', {}), + \ } +augroup END -- cgit v1.2.3-54-g00ecf From 0cfdb045bcc9664dbafd41d72aa49ac58c7105e2 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 3 Feb 2020 10:03:01 +0900 Subject: Add plugin suggestion --- settings.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/settings.json b/settings.json index a90989a..4787e08 100644 --- a/settings.json +++ b/settings.json @@ -347,7 +347,13 @@ "command": "powershell-languageserver", "requires": [ "powershell" - ] + ], + "vim-plugin": { + "extensions": [ + "ps1" + ], + "name": "PProvost/vim-ps1" + } } ], "python": [ -- cgit v1.2.3-54-g00ecf From 3a0970d7afa93bcfcbca7c0cdda837916b5ea6a7 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 3 Feb 2020 10:36:38 +0900 Subject: Add installer for pwsh --- installer/install-powershell-languageserver.cmd | 3 ++- installer/install-powershell-languageserver.sh | 19 +++++++++++++++++++ settings.json | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100755 installer/install-powershell-languageserver.sh diff --git a/installer/install-powershell-languageserver.cmd b/installer/install-powershell-languageserver.cmd index a9e3cc0..ae63ef4 100644 --- a/installer/install-powershell-languageserver.cmd +++ b/installer/install-powershell-languageserver.cmd @@ -1,8 +1,9 @@ @echo off -curl -o PowerShellEditorServices.zip "https://github.com/PowerShell/PowerShellEditorServices/releases/download/2.0.0-preview.8/PowerShellEditorServices.zip" +curl -L -o PowerShellEditorServices.zip "https://github.com/PowerShell/PowerShellEditorServices/releases/download/2.0.0-preview.8/PowerShellEditorServices.zip" call "%~dp0\run_unzip.cmd" PowerShellEditorServices.zip del PowerShellEditorServices.zip +mkdir %~dp0session echo @echo off ^ diff --git a/installer/install-powershell-languageserver.sh b/installer/install-powershell-languageserver.sh new file mode 100755 index 0000000..f9f823f --- /dev/null +++ b/installer/install-powershell-languageserver.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -e + +curl -L -o PowerShellEditorServices.zip "https://github.com/PowerShell/PowerShellEditorServices/releases/download/2.0.0-preview.8/PowerShellEditorServices.zip" +unzip PowerShellEditorServices.zip +rm PowerShellEditorServices.zip +mkdir session + +cat <powershell-languageserver +#!/usr/bin/env bash + +DIR=\$(cd \$(dirname \$0); pwd) +PSES_BUNDLE_PATH=\$DIR/PowerShellEditorServices +SESSION_TEMP_PATH=\$DIR/session +pwsh -NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command "\$PSES_BUNDLE_PATH/PowerShellEditorServices/Start-EditorServices.ps1 -BundledModulesPath \$PSES_BUNDLE_PATH -LogPath \$SESSION_TEMP_PATH/logs.log -SessionDetailsPath \$SESSION_TEMP_PATH/session.json -FeatureFlags @() -AdditionalModules @() -HostName 'My Client' -HostProfileId 'myclient' -HostVersion 1.0.0 -Stdio -LogLevel Normal" +EOF + +chmod +x powershell-languageserver diff --git a/settings.json b/settings.json index 4787e08..17dd92e 100644 --- a/settings.json +++ b/settings.json @@ -346,7 +346,7 @@ { "command": "powershell-languageserver", "requires": [ - "powershell" + "pwsh" ], "vim-plugin": { "extensions": [ -- cgit v1.2.3-54-g00ecf From af8982bd21b722506d4c3e9e61c369193def6360 Mon Sep 17 00:00:00 2001 From: Naoya Inada Date: Mon, 3 Feb 2020 15:59:36 +0900 Subject: Fix default initialization_options of vue-language-server --- settings/vls.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/vls.vim b/settings/vls.vim index 7bb3845..d2c73a4 100644 --- a/settings/vls.vim +++ b/settings/vls.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_vls \ 'name': 'vls', \ 'cmd': {server_info->lsp_settings#get('vls', 'cmd', [lsp_settings#exec_path('vls'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('vls', 'root_uri', lsp_settings#root_uri(extend(['package.json'], g:lsp_settings_root_markers)))}, - \ 'initialization_options': lsp_settings#get('vls', 'initialization_options', {'config': {'vetur': {'useWorkspaceDependencies': v:false, 'validation': {'template': v:true, 'style': v:true, 'script': v:true}, 'completion': {'autoImport': v:false, 'useScaffoldSnippets': v:false, 'tagCasing': 'kebab'}, 'format': {'defaultFormatter': {'js': v:none, 'ts': v:none}, 'defaultFormatterOptions': {}, 'scriptInitialIndent': v:false, 'styleInitialIndent': v:false}, 'dev': {'logLevel': 'DEBUG'}}, 'css': {}, 'html': {'suggest': {}}, 'javascript': {'format': {}}, 'typescript': {'format': {}}, 'emmet': {}, 'stylusSupremacy': {}}}), + \ 'initialization_options': lsp_settings#get('vls', 'initialization_options', {'config': {'vetur': {'useWorkspaceDependencies': v:false, 'validation': {'template': v:true, 'style': v:true, 'script': v:true}, 'completion': {'autoImport': v:false, 'useScaffoldSnippets': v:false, 'tagCasing': 'kebab'}, 'format': {'defaultFormatter': {'js': '', 'ts': ''}, 'defaultFormatterOptions': {}, 'scriptInitialIndent': v:false, 'styleInitialIndent': v:false}, 'dev': {'logLevel': 'DEBUG'}}, 'css': {}, 'html': {'suggest': {}}, 'javascript': {'format': {}}, 'typescript': {'format': {}}, 'emmet': {}, 'stylusSupremacy': {}}}), \ 'whitelist': lsp_settings#get('vls', 'whitelist', ['vue']), \ 'blacklist': lsp_settings#get('vls', 'blacklist', []), \ 'config': lsp_settings#get('vls', 'config', {}), -- cgit v1.2.3-54-g00ecf From d7a15bda2f9a10bffee1198dddf7cbc33482db3c Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 14:27:48 +0900 Subject: Support b:asyncomplete_refresh_pattern --- autoload/lsp_settings.vim | 13 ++++++++++ schema.json | 60 +++++++++++++++++++++++++---------------------- settings.json | 1 + 3 files changed, 46 insertions(+), 28 deletions(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 55d9452..e0160de 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -325,6 +325,19 @@ function! s:vim_lsp_suggest_plugin() abort endfunction function! s:vim_lsp_load_or_suggest(ft) abort + if !has_key(s:settings, a:ft) + return + endif + + if get(g:, 'lsp_loaded', 0) + for l:server in s:settings[a:ft] + let l:pattern = get(l:server, 'asyncomplete-refresh-pattern', '') + if !empty(l:pattern) + let b:asyncomplete_refresh_pattern = l:pattern + endif + endfor + endif + if get(s:ftmap, a:ft, 0) return endif diff --git a/schema.json b/schema.json index dd01f15..38c11d6 100644 --- a/schema.json +++ b/schema.json @@ -1,24 +1,17 @@ { "$schema": "http://json-schema.org/draft-04/schema", - "type": "object", - "title": "vim-lsp-settings", "additionalProperties": false, "patternProperties": { - "^\\$schema$": { - "type": "string" - }, "^([a-z0-9_-]+)+$": { - "type": "array", "description": "filetype name", "items": { - "description": "define command description", - "type": "object", "additionalProperties": false, - "required": [ - "command", - "requires" - ], + "description": "define command description", "properties": { + "asyncomplete-refresh-pattern": { + "description": "define refresh pattern for asyncomplete", + "type": "string" + }, "command": { "description": "define name of language server", "type": "string" @@ -29,32 +22,43 @@ }, "requires": { "description": "define commands to install this language server", - "type": "array", "items": { - "type": "string", - "description": "executable command name" - } + "description": "executable command name", + "type": "string" + }, + "type": "array" }, "vim-plugin": { - "description": "define suggestion for vim-plugin", - "type": "object", "additionalProperties": false, + "description": "define suggestion for vim-plugin", "properties": { "extensions": { - "type": "array", "items": { - "type": "string", - "description": "file extensions" - } + "description": "file extensions", + "type": "string" + }, + "type": "array" }, "name": { - "type": "string", - "description": "plugin identify user/repo" + "description": "plugin identify user/repo", + "type": "string" } - } + }, + "type": "object" } - } - } + }, + "required": [ + "command", + "requires" + ], + "type": "object" + }, + "type": "array" + }, + "^\\$schema$": { + "type": "string" } - } + }, + "title": "vim-lsp-settings", + "type": "object" } diff --git a/settings.json b/settings.json index 17dd92e..12e7704 100644 --- a/settings.json +++ b/settings.json @@ -344,6 +344,7 @@ ], "ps1": [ { + "asyncomplete-refresh-pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", "command": "powershell-languageserver", "requires": [ "pwsh" -- cgit v1.2.3-54-g00ecf From 35411e724e36d23aaddb71b5a91cb2d7f95e257c Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 14:32:50 +0900 Subject: Add refresh pattern for ruby --- settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.json b/settings.json index 12e7704..ce4bd54 100644 --- a/settings.json +++ b/settings.json @@ -400,6 +400,7 @@ ], "ruby": [ { + "asyncomplete-refresh-pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", "command": "solargraph", "requires": [ "gem" -- cgit v1.2.3-54-g00ecf From c3382a172d3bd3876a5917c753887ad716356565 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 15:32:55 +0900 Subject: Add asyncomlpete-refresh-pattern for CSS --- settings.json | 1 + settings/css-languageserver.vim | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/settings.json b/settings.json index ce4bd54..d6fe430 100644 --- a/settings.json +++ b/settings.json @@ -63,6 +63,7 @@ ], "css": [ { + "asyncomplete-refresh-pattern": "\\(-\\?[a-zA-Z_]\\+[_a-zA-Z0-9-]*$\\|\\k\\+$\\)", "command": "css-languageserver", "requires": [ "npm" diff --git a/settings/css-languageserver.vim b/settings/css-languageserver.vim index 3e4dc4f..b3d33a4 100644 --- a/settings/css-languageserver.vim +++ b/settings/css-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_css_languageserver \ 'initialization_options': lsp_settings#get('css-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('css-languageserver', 'whitelist', ['css', 'less', 'sass']), \ 'blacklist': lsp_settings#get('css-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('css-languageserver', 'config', {}), + \ 'config': lsp_settings#get('css-languageserver', 'config', {'typed_pattern': '-\?[a-zA-Z_]\+[_a-zA-Z0-9-]*$\|\k\+$'}), \ 'workspace_config': lsp_settings#get('css-languageserver', 'workspace_config', { \ 'css': {'lint': {'validProperties': []}}, \ 'less': {'lint': {'validProperties': []}}, -- cgit v1.2.3-54-g00ecf From 3e4d8bf5c5fff96ae42b1f2a72aaf236e7db1eb9 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 16:22:41 +0900 Subject: Add glslls --- settings.json | 21 +++++++++++++++++++++ settings/glslls.vim | 13 +++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 settings/glslls.vim diff --git a/settings.json b/settings.json index d6fe430..4fd9e96 100644 --- a/settings.json +++ b/settings.json @@ -162,6 +162,27 @@ ] } ], + "glsl": [ + { + "command": "glslls", + "requires": [ + "cmake", + "git", + "make" + ], + "vim-plugin": { + "extensions": [ + "vert", + "tesc", + "tese", + "glsl", + "geom", + "frag" + ], + "name": "tikhomirov/vim-glsl" + } + } + ], "go": [ { "command": "gopls", diff --git a/settings/glslls.vim b/settings/glslls.vim new file mode 100644 index 0000000..078fc66 --- /dev/null +++ b/settings/glslls.vim @@ -0,0 +1,13 @@ +augroup vimlsp_settings_glslls + au! + LspRegisterServer { + \ 'name': 'glslls', + \ 'cmd': {server_info->lsp_settings#get('glslls', 'cmd', [lsp_settings#exec_path('glslls'), '--stdin'])}, + \ 'root_uri':{server_info->lsp_settings#get('glslls', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, + \ 'initialization_options': lsp_settings#get('glslls', 'initialization_options', v:null), + \ 'whitelist': lsp_settings#get('glslls', 'whitelist', ['glsl']), + \ 'blacklist': lsp_settings#get('glslls', 'blacklist', []), + \ 'config': lsp_settings#get('glslls', 'config', {}), + \ 'workspace_config': lsp_settings#get('glslls', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand(':h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), + \ } +augroup END -- cgit v1.2.3-54-g00ecf From 90b4c2e84a6a3b65071cf740c6ed060dbbd24719 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 18:26:19 +0900 Subject: Rename asyncomplete-refresh-pattern to refresh_pattern --- autoload/lsp_settings.vim | 6 +++--- schema.json | 4 ++-- settings.json | 7 ++++--- settings/html-languageserver.vim | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index e0160de..fcbcc98 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -331,9 +331,9 @@ function! s:vim_lsp_load_or_suggest(ft) abort if get(g:, 'lsp_loaded', 0) for l:server in s:settings[a:ft] - let l:pattern = get(l:server, 'asyncomplete-refresh-pattern', '') - if !empty(l:pattern) - let b:asyncomplete_refresh_pattern = l:pattern + let l:refresh_pattern = get(l:server, 'refresh_pattern', '') + if !empty(l:refresh_pattern) + let b:asyncomplete_refresh_pattern = l:refresh_pattern endif endfor endif diff --git a/schema.json b/schema.json index 38c11d6..95cd0f7 100644 --- a/schema.json +++ b/schema.json @@ -8,8 +8,8 @@ "additionalProperties": false, "description": "define command description", "properties": { - "asyncomplete-refresh-pattern": { - "description": "define refresh pattern for asyncomplete", + "refresh_pattern": { + "description": "loop left and find the start of the word or trigger chars and set it as the startcol for the source instead of refresh_pattern", "type": "string" }, "command": { diff --git a/settings.json b/settings.json index d6fe430..5bc7c4d 100644 --- a/settings.json +++ b/settings.json @@ -63,7 +63,7 @@ ], "css": [ { - "asyncomplete-refresh-pattern": "\\(-\\?[a-zA-Z_]\\+[_a-zA-Z0-9-]*$\\|\\k\\+$\\)", + "refresh_pattern": "\\(-\\?[a-zA-Z_]\\+[_a-zA-Z0-9-]*$\\|\\k\\+$\\)", "command": "css-languageserver", "requires": [ "npm" @@ -189,6 +189,7 @@ ], "html": [ { + "refresh_pattern": "\\(\\k\\+\\)$", "command": "html-languageserver", "requires": [ "npm" @@ -345,7 +346,7 @@ ], "ps1": [ { - "asyncomplete-refresh-pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", + "refresh_pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", "command": "powershell-languageserver", "requires": [ "pwsh" @@ -401,7 +402,7 @@ ], "ruby": [ { - "asyncomplete-refresh-pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", + "refresh_pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", "command": "solargraph", "requires": [ "gem" diff --git a/settings/html-languageserver.vim b/settings/html-languageserver.vim index 7855505..3cbd485 100644 --- a/settings/html-languageserver.vim +++ b/settings/html-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_html_languageserver \ 'initialization_options': lsp_settings#get('html-languageserver', 'initialization_options', {'embeddedLanguages': {'css': v:true, 'javascript': v:true}}), \ 'whitelist': lsp_settings#get('html-languageserver', 'whitelist', ['html']), \ 'blacklist': lsp_settings#get('html-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('html-languageserver', 'config', {}), + \ 'config': lsp_settings#get('html-languageserver', 'config', {'typed_pattern': '/$\|\k\+$'}), \ 'workspace_config': lsp_settings#get('html-languageserver', 'workspace_config', {}), \ } augroup END -- cgit v1.2.3-54-g00ecf From 68a59e6d340e1db9dca52774c8d3aea96ffce73e Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 18:48:43 +0900 Subject: Fixes refresh_pattern and typed_pattern. --- settings.json | 7 +++---- settings/css-languageserver.vim | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/settings.json b/settings.json index 5bc7c4d..3aea50c 100644 --- a/settings.json +++ b/settings.json @@ -63,7 +63,7 @@ ], "css": [ { - "refresh_pattern": "\\(-\\?[a-zA-Z_]\\+[_a-zA-Z0-9-]*$\\|\\k\\+$\\)", + "refresh_pattern": "\\([a-zA-Z0-9_-]\\+\\)$", "command": "css-languageserver", "requires": [ "npm" @@ -189,7 +189,6 @@ ], "html": [ { - "refresh_pattern": "\\(\\k\\+\\)$", "command": "html-languageserver", "requires": [ "npm" @@ -346,7 +345,7 @@ ], "ps1": [ { - "refresh_pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", + "refresh_pattern": "\\(\\$\\k*\\|\\k\\+\\)$", "command": "powershell-languageserver", "requires": [ "pwsh" @@ -402,7 +401,7 @@ ], "ruby": [ { - "refresh_pattern": "\\(\\$\\k*$\\|\\k\\+$\\)", + "refresh_pattern": "\\(\\$\\k*\\|\\k\\+\\)$", "command": "solargraph", "requires": [ "gem" diff --git a/settings/css-languageserver.vim b/settings/css-languageserver.vim index b3d33a4..de414c2 100644 --- a/settings/css-languageserver.vim +++ b/settings/css-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_css_languageserver \ 'initialization_options': lsp_settings#get('css-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('css-languageserver', 'whitelist', ['css', 'less', 'sass']), \ 'blacklist': lsp_settings#get('css-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('css-languageserver', 'config', {'typed_pattern': '-\?[a-zA-Z_]\+[_a-zA-Z0-9-]*$\|\k\+$'}), + \ 'config': lsp_settings#get('css-languageserver', 'config', {'typed_pattern': '-\?[a-zA-Z_]\+[_a-zA-Z0-9-]\+$'}), \ 'workspace_config': lsp_settings#get('css-languageserver', 'workspace_config', { \ 'css': {'lint': {'validProperties': []}}, \ 'less': {'lint': {'validProperties': []}}, -- cgit v1.2.3-54-g00ecf From 9ee12f79f184102d56ff3ee731aee202b3e5d8fa Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 19:22:35 +0900 Subject: Fixes refresh_pattern and typed_pattern. --- settings.json | 2 -- settings/powershell-languageserver.vim | 2 +- settings/solargraph.vim | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/settings.json b/settings.json index 3aea50c..40915b0 100644 --- a/settings.json +++ b/settings.json @@ -345,7 +345,6 @@ ], "ps1": [ { - "refresh_pattern": "\\(\\$\\k*\\|\\k\\+\\)$", "command": "powershell-languageserver", "requires": [ "pwsh" @@ -401,7 +400,6 @@ ], "ruby": [ { - "refresh_pattern": "\\(\\$\\k*\\|\\k\\+\\)$", "command": "solargraph", "requires": [ "gem" diff --git a/settings/powershell-languageserver.vim b/settings/powershell-languageserver.vim index 380a7ba..b647002 100644 --- a/settings/powershell-languageserver.vim +++ b/settings/powershell-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_powershell_languageserver \ 'initialization_options': lsp_settings#get('powershell-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('powershell-languageserver', 'whitelist', ['ps1']), \ 'blacklist': lsp_settings#get('powershell-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('powershell-languageserver', 'config', {}), + \ 'config': lsp_settings#get('solargraph', 'config', {'typed_pattern': '\(\$\k*\|\k\+\)$'}), \ 'workspace_config': lsp_settings#get('powershell-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/solargraph.vim b/settings/solargraph.vim index 9373975..3fc17e8 100644 --- a/settings/solargraph.vim +++ b/settings/solargraph.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_solargraph \ 'initialization_options': lsp_settings#get('solargraph', 'initialization_options', {"diagnostics": "true"}), \ 'whitelist': lsp_settings#get('solargraph', 'whitelist', ['ruby']), \ 'blacklist': lsp_settings#get('solargraph', 'blacklist', []), - \ 'config': lsp_settings#get('solargraph', 'config', {}), + \ 'config': lsp_settings#get('solargraph', 'config', {'typed_pattern': '\([$@]\k*\|\k\+\)$'}), \ 'workspace_config': lsp_settings#get('solargraph', 'workspace_config', {}), \ } augroup END -- cgit v1.2.3-54-g00ecf From d8559bc8d6ccc4879c34801b3c7512800d853659 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 19:31:28 +0900 Subject: Fix typed_pattern --- settings/html-languageserver.vim | 2 +- settings/metals.vim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/settings/html-languageserver.vim b/settings/html-languageserver.vim index 3cbd485..edecd24 100644 --- a/settings/html-languageserver.vim +++ b/settings/html-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_html_languageserver \ 'initialization_options': lsp_settings#get('html-languageserver', 'initialization_options', {'embeddedLanguages': {'css': v:true, 'javascript': v:true}}), \ 'whitelist': lsp_settings#get('html-languageserver', 'whitelist', ['html']), \ 'blacklist': lsp_settings#get('html-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('html-languageserver', 'config', {'typed_pattern': '/$\|\k\+$'}), + \ 'config': lsp_settings#get('html-languageserver', 'config', {'typed_pattern': '\(/\|k\+\)$'}), \ 'workspace_config': lsp_settings#get('html-languageserver', 'workspace_config', {}), \ } augroup END diff --git a/settings/metals.vim b/settings/metals.vim index 376d5f5..d0cdd53 100644 --- a/settings/metals.vim +++ b/settings/metals.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_metals \ 'initialization_options': lsp_settings#get('metals', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('metals', 'whitelist', ['scala', 'sbt']), \ 'blacklist': lsp_settings#get('metals', 'blacklist', []), - \ 'config': lsp_settings#get('metals', 'config', {}), + \ 'config': lsp_settings#get('metals', 'config', {'typed_pattern': '\k\zs'}), \ 'workspace_config': lsp_settings#get('metals', 'workspace_config', {}), \ } augroup END -- cgit v1.2.3-54-g00ecf From c727df7bcaa13202f81fb513ea61d6a75d634b84 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 5 Feb 2020 19:37:38 +0900 Subject: Fix refresh_pattern and typed_pattern --- settings.json | 1 + settings/powershell-languageserver.vim | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/settings.json b/settings.json index 40915b0..64145b7 100644 --- a/settings.json +++ b/settings.json @@ -345,6 +345,7 @@ ], "ps1": [ { + "refresh_pattern": "\\(\\$[a-zA-Z0-9_:]*\\|\\k\\+\\)$", "command": "powershell-languageserver", "requires": [ "pwsh" diff --git a/settings/powershell-languageserver.vim b/settings/powershell-languageserver.vim index b647002..105cd19 100644 --- a/settings/powershell-languageserver.vim +++ b/settings/powershell-languageserver.vim @@ -7,7 +7,7 @@ augroup vimlsp_settings_powershell_languageserver \ 'initialization_options': lsp_settings#get('powershell-languageserver', 'initialization_options', v:null), \ 'whitelist': lsp_settings#get('powershell-languageserver', 'whitelist', ['ps1']), \ 'blacklist': lsp_settings#get('powershell-languageserver', 'blacklist', []), - \ 'config': lsp_settings#get('solargraph', 'config', {'typed_pattern': '\(\$\k*\|\k\+\)$'}), + \ 'config': lsp_settings#get('solargraph', 'config', {'typed_pattern': '\(\$[a-zA-Z0-9_:]*\|\k\+\)$'}), \ 'workspace_config': lsp_settings#get('powershell-languageserver', 'workspace_config', {}), \ } augroup END -- cgit v1.2.3-54-g00ecf From 9731c271c3effa8f85a665bc742d71778fb5faf8 Mon Sep 17 00:00:00 2001 From: Shinya Ohyanagi Date: Wed, 5 Feb 2020 23:01:04 +0900 Subject: Fix list only required plugin --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 2cbfdd9..85da84f 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,6 @@ For [vim-plug](https://github.com/junegunn/vim-plug) plugin manager: ```viml Plug 'prabirshrestha/async.vim' -Plug 'prabirshrestha/asyncomplete.vim' -Plug 'prabirshrestha/asyncomplete-lsp.vim' Plug 'prabirshrestha/vim-lsp' Plug 'mattn/vim-lsp-settings' ``` -- cgit v1.2.3-54-g00ecf From 370c0f8f93ebb8b4ef855d4123f104d5ca3d3e71 Mon Sep 17 00:00:00 2001 From: Shinya Ohyanagi Date: Wed, 5 Feb 2020 23:12:17 +0900 Subject: Fix add autocompletion plugins --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 85da84f..6440a7b 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,13 @@ Plug 'mattn/vim-lsp-settings' You need to install both [vim-lsp](https://github.com/prabirshrestha/vim-lsp) and its accompanying plugins and vim-lsp-settings. +If you want to use autocompletion plugin, you can use followings. + +```viml +Plug 'prabirshrestha/asyncomplete.vim' +Plug 'prabirshrestha/asyncomplete-lsp.vim' +``` + ### Notice If you use plugin manager that is merging plugins (ex. dein), Please setting stop merging work(ex. dein / merged = 0) or set `g:lsp_settings_servers_dir` option to a different directory from the vim-lsp's default. -- cgit v1.2.3-54-g00ecf From dd19ea3e5907dfaed5e6c6b21a054c25fada761c Mon Sep 17 00:00:00 2001 From: Amadeus Demarzi Date: Wed, 5 Feb 2020 17:22:53 -0800 Subject: Add .tsx and .jsx extentions to LspRegisterServer --- settings/javascript-typescript-stdio.vim | 2 +- settings/typescript-language-server.vim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/settings/javascript-typescript-stdio.vim b/settings/javascript-typescript-stdio.vim index 9d3f645..227c2ae 100644 --- a/settings/javascript-typescript-stdio.vim +++ b/settings/javascript-typescript-stdio.vim @@ -5,7 +5,7 @@ augroup vimlsp_settings_javascript_typescript_stdio \ 'cmd': {server_info->lsp_settings#get('javascript-typescript-stdio', 'cmd', [lsp_settings#exec_path('javascript-typescript-stdio')])}, \ 'root_uri':{server_info->lsp_settings#get('javascript-typescript-stdio', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, \ 'initialization_options': lsp_settings#get('javascript-typescript-stdio', 'initialization_options', {"diagnostics": "true"}), - \ 'whitelist': lsp_settings#get('javascript-typescript-stdio', 'whitelist', ['javascript', 'javascriptreact']), + \ 'whitelist': lsp_settings#get('javascript-typescript-stdio', 'whitelist', ['javascript', 'javascriptreact', 'javascript.jsx']), \ 'blacklist': lsp_settings#get('javascript-typescript-stdio', 'blacklist', []), \ 'config': lsp_settings#get('javascript-typescript-stdio', 'config', {}), \ 'workspace_config': lsp_settings#get('javascript-typescript-stdio', 'workspace_config', {}), diff --git a/settings/typescript-language-server.vim b/settings/typescript-language-server.vim index 17b2db3..12ccba5 100644 --- a/settings/typescript-language-server.vim +++ b/settings/typescript-language-server.vim @@ -5,7 +5,7 @@ augroup vimlsp_settings_typescript_language_server \ 'cmd': {server_info->lsp_settings#get('typescript-language-server', 'cmd', [lsp_settings#exec_path('typescript-language-server'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('typescript-language-server', 'root_uri', lsp_settings#root_uri(extend(['package.json', 'tsconfig.json'], g:lsp_settings_root_markers)))}, \ 'initialization_options': lsp_settings#get('typescript-language-server', 'initialization_options', {"diagnostics": "true"}), - \ 'whitelist': lsp_settings#get('typescript-language-server', 'whitelist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact']), + \ 'whitelist': lsp_settings#get('typescript-language-server', 'whitelist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx']), \ 'blacklist': lsp_settings#get('typescript-language-server', 'blacklist', []), \ 'config': lsp_settings#get('typescript-language-server', 'config', {}), \ 'workspace_config': lsp_settings#get('typescript-language-server', 'workspace_config', {}), -- cgit v1.2.3-54-g00ecf From 10f0c14ebd4a219c27a53c9641162cf038088f90 Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Thu, 6 Feb 2020 17:00:31 +0900 Subject: Add deoplete.nvim to autocomplete plugin section in README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 6440a7b..01ee94b 100644 --- a/README.md +++ b/README.md @@ -27,11 +27,18 @@ You need to install both [vim-lsp](https://github.com/prabirshrestha/vim-lsp) an If you want to use autocompletion plugin, you can use followings. +#### asyncomplete.vim ```viml Plug 'prabirshrestha/asyncomplete.vim' Plug 'prabirshrestha/asyncomplete-lsp.vim' ``` +#### deoplete.nvim +```viml +Plug 'Shougo/deoplete.nvim' +Plug 'lighttiger2505/deoplete-vim-lsp' +``` + ### Notice If you use plugin manager that is merging plugins (ex. dein), Please setting stop merging work(ex. dein / merged = 0) or set `g:lsp_settings_servers_dir` option to a different directory from the vim-lsp's default. -- cgit v1.2.3-54-g00ecf From c3e4b62d1ed0cfcb138357a2006de3d4e6ac371a Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sat, 8 Feb 2020 21:57:05 +0900 Subject: Add utility function to merge dictionary which has keys with dot separated. --- autoload/lsp_settings/utils.vim | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/autoload/lsp_settings/utils.vim b/autoload/lsp_settings/utils.vim index 96feb0a..a39851f 100644 --- a/autoload/lsp_settings/utils.vim +++ b/autoload/lsp_settings/utils.vim @@ -30,3 +30,78 @@ function! lsp_settings#utils#first_one(lines) abort endif return l:path endfunction + +function! s:merge(lhs, rhs) abort + let [l:lhs, l:rhs] = [a:lhs, a:rhs] + if type(l:lhs) ==# 3 + if type(l:rhs) ==# 3 + let l:lhs += l:rhs + if len(l:lhs) + call remove(l:lhs, 0, len(l:lhs)-1) + endif + for l:rhi in l:rhs + call add(l:lhs, l:rhs[l:rhi]) + endfor + elseif type(l:rhs) ==# 4 + let l:lhs += map(keys(l:rhs), '{v:val : l:rhs[v:val]}') + endif + elseif type(l:lhs) ==# 4 + if type(l:rhs) ==# 3 + for l:V in l:rhs + if type(l:V) != 4 + continue + endif + for l:k in keys(l:V) + let l:lhs[l:k] = l:V[l:k] + endfor + endfor + elseif type(l:rhs) ==# 4 + for l:key in keys(l:rhs) + if type(l:rhs[l:key]) ==# 3 + if !has_key(l:lhs, l:key) + let l:lhs[l:key] = [] + endif + if type(l:lhs[l:key]) == 3 + let l:lhs[l:key] += l:rhs[l:key] + elseif type(l:lhs[l:key]) == 4 + for l:k in keys(l:rhs[l:key]) + let l:lhs[l:key][l:k] = l:rhs[l:key][l:k] + endfor + endif + elseif type(l:rhs[l:key]) ==# 4 + if has_key(l:lhs, l:key) + call s:merge(l:lhs[l:key], l:rhs[l:key]) + else + let l:lhs[l:key] = l:rhs[l:key] + endif + else + let l:lhs[l:key] = l:rhs[l:key] + endif + endfor + endif + endif +endfunction + +function! lsp_settings#utils#merge(d) abort + let l:ret = {} + let l:keys = keys(a:d) + for l:k in sort(keys(a:d)) + let l:new = {} + let l:cur = l:new + let l:arr = split(l:k, '\.') + for l:i in range(len(l:arr)) + let l:kk = l:arr[l:i] + if type(l:cur) == v:t_dict && !has_key(l:cur, l:kk) + if l:i == len(l:arr) - 1 + let l:cur[l:kk] = a:d[l:k] + break + else + let l:cur[l:kk] = {} + endif + endif + let l:cur = l:cur[l:kk] + endfor + call s:merge(l:ret, l:new) + endfor + return l:ret +endfunction -- cgit v1.2.3-54-g00ecf From bd09186d1bfeb70833f5455dd23de106ad6e1b1e Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sun, 9 Feb 2020 02:04:14 +0900 Subject: Set nosuf for globpath --- autoload/lsp_settings.vim | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index fcbcc98..3b78c66 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -27,11 +27,11 @@ function! lsp_settings#executable(cmd) abort endif let l:paths .= ',' . lsp_settings#servers_dir() . '/' . a:cmd if !has('win32') - let l:found = globpath(l:paths, a:cmd) + let l:found = globpath(l:paths, a:cmd, 1) return !empty(l:found) endif for l:ext in ['.exe', '.cmd', '.bat'] - if !empty(globpath(l:paths, a:cmd . l:ext)) + if !empty(globpath(l:paths, a:cmd . l:ext, 1)) return 1 endif endfor @@ -122,14 +122,14 @@ function! lsp_settings#exec_path(cmd) abort let l:paths = split($PATH, ':') endif let l:paths = join(l:paths, ',') - let l:path = globpath(l:paths, a:cmd) + let l:path = globpath(l:paths, a:cmd, 1) if !has('win32') if !empty(l:path) return lsp_settings#utils#first_one(l:path) endif else for l:ext in ['.exe', '.cmd', '.bat'] - let l:path = globpath(l:paths, a:cmd . l:ext) + let l:path = globpath(l:paths, a:cmd . l:ext, 1) if !empty(l:path) return lsp_settings#utils#first_one(l:path) endif @@ -142,10 +142,10 @@ function! lsp_settings#exec_path(cmd) abort endif let l:paths .= lsp_settings#servers_dir() . '/' . a:cmd if !has('win32') - return lsp_settings#utils#first_one(globpath(l:paths, a:cmd)) + return lsp_settings#utils#first_one(globpath(l:paths, a:cmd, 1)) endif for l:ext in ['.exe', '.cmd', '.bat'] - let l:path = globpath(l:paths, a:cmd . l:ext) + let l:path = globpath(l:paths, a:cmd . l:ext, 1) if !empty(l:path) return lsp_settings#utils#first_one(l:path) endif -- cgit v1.2.3-54-g00ecf From 5cce450fae1bdae8d3c7bcbf2b06b4cf411f008c Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 10 Feb 2020 00:41:43 +0900 Subject: Use single quote --- settings/cl-lsp.vim | 2 +- settings/digestif.vim | 2 +- settings/dls.vim | 2 +- settings/gql-language-server.vim | 2 +- settings/javascript-typescript-stdio.vim | 2 +- settings/nimlsp.vim | 2 +- settings/solargraph.vim | 2 +- settings/texlab.vim | 2 +- settings/typescript-language-server.vim | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/settings/cl-lsp.vim b/settings/cl-lsp.vim index 46c3b5a..e613350 100644 --- a/settings/cl-lsp.vim +++ b/settings/cl-lsp.vim @@ -2,7 +2,7 @@ augroup vimlsp_settings_cl_lsp au! LspRegisterServer { \ 'name': 'cl-lsp', - \ 'cmd': {server_info->lsp_settings#get('cl-lsp', 'cmd', {key, name-> ['ros', '-Q', '--', trim(filter(systemlist("ros version"), 'v:val=~"^homedir"')[0][8:], '"''') . '/bin/cl-lsp', 'stdio']})}, + \ 'cmd': {server_info->lsp_settings#get('cl-lsp', 'cmd', {key, name-> ['ros', '-Q', '--', trim(filter(systemlist('ros version'), 'v:val=~"^homedir"')[0][8:], '"''') . '/bin/cl-lsp', 'stdio']})}, \ 'root_uri':{server_info->lsp_settings#get('cl-lsp', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, \ 'initialization_options': lsp_settings#get('cl-lsp', 'initialization_options', {}), \ 'whitelist': lsp_settings#get('cl-lsp', 'whitelist', ['lisp']), diff --git a/settings/digestif.vim b/settings/digestif.vim index f7b8e8a..2fbe709 100644 --- a/settings/digestif.vim +++ b/settings/digestif.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_digestif \ 'name': 'digestif', \ 'cmd': {server_info->lsp_settings#get('digestif', 'cmd', [lsp_settings#exec_path('digestif')])}, \ 'root_uri':{server_info->lsp_settings#get('digestif', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ 'initialization_options': lsp_settings#get('digestif', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('digestif', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('digestif', 'whitelist', ['plaintex', 'tex']), \ 'blacklist': lsp_settings#get('digestif', 'blacklist', []), \ 'config': lsp_settings#get('digestif', 'config', {}), diff --git a/settings/dls.vim b/settings/dls.vim index a4fe3e1..b27b1b9 100644 --- a/settings/dls.vim +++ b/settings/dls.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_dls \ 'name': 'dls', \ 'cmd': {server_info->lsp_settings#get('dls', 'cmd', [lsp_settings#exec_path('dls')])}, \ 'root_uri':{server_info->lsp_settings#get('dls', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ 'initialization_options': lsp_settings#get('dls', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('dls', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('dls', 'whitelist', ['d']), \ 'blacklist': lsp_settings#get('dls', 'blacklist', []), \ 'config': lsp_settings#get('dls', 'config', {}), diff --git a/settings/gql-language-server.vim b/settings/gql-language-server.vim index 8fe118d..4217c4b 100644 --- a/settings/gql-language-server.vim +++ b/settings/gql-language-server.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_gql_language_server \ 'name': 'gql-language-server', \ 'cmd': {server_info->lsp_settings#get('gql-language-server', 'cmd', [lsp_settings#exec_path('gql-language-server'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('gql-language-server', 'root_uri', lsp_settings#root_uri(extend(['package.json', 'tsconfig.json', '.gqlconfig'], g:lsp_settings_root_markers)))}, - \ 'initialization_options': lsp_settings#get('gql-language-server', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('gql-language-server', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('gql-language-server', 'whitelist', ['graphql']), \ 'blacklist': lsp_settings#get('gql-language-server', 'blacklist', []), \ 'config': lsp_settings#get('gql-language-server', 'config', {}), diff --git a/settings/javascript-typescript-stdio.vim b/settings/javascript-typescript-stdio.vim index 227c2ae..14762be 100644 --- a/settings/javascript-typescript-stdio.vim +++ b/settings/javascript-typescript-stdio.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_javascript_typescript_stdio \ 'name': 'javascript-typescript-stdio', \ 'cmd': {server_info->lsp_settings#get('javascript-typescript-stdio', 'cmd', [lsp_settings#exec_path('javascript-typescript-stdio')])}, \ 'root_uri':{server_info->lsp_settings#get('javascript-typescript-stdio', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ 'initialization_options': lsp_settings#get('javascript-typescript-stdio', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('javascript-typescript-stdio', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('javascript-typescript-stdio', 'whitelist', ['javascript', 'javascriptreact', 'javascript.jsx']), \ 'blacklist': lsp_settings#get('javascript-typescript-stdio', 'blacklist', []), \ 'config': lsp_settings#get('javascript-typescript-stdio', 'config', {}), diff --git a/settings/nimlsp.vim b/settings/nimlsp.vim index 70a59a8..f467dc6 100644 --- a/settings/nimlsp.vim +++ b/settings/nimlsp.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_nimlsp \ 'name': 'nimlsp', \ 'cmd': {server_info->lsp_settings#get('nimlsp', 'cmd', [lsp_settings#exec_path('nimlsp')])}, \ 'root_uri':{server_info->lsp_settings#get('nimlsp', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ 'initialization_options': lsp_settings#get('nimlsp', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('nimlsp', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('nimlsp', 'whitelist', ['nim']), \ 'blacklist': lsp_settings#get('nimlsp', 'blacklist', []), \ 'config': lsp_settings#get('nimlsp', 'config', {}), diff --git a/settings/solargraph.vim b/settings/solargraph.vim index 3fc17e8..3b723ee 100644 --- a/settings/solargraph.vim +++ b/settings/solargraph.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_solargraph \ 'name': 'solargraph', \ 'cmd': {server_info->lsp_settings#get('solargraph', 'cmd', [lsp_settings#exec_path('solargraph'), 'stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('solargraph', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ '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']), \ 'blacklist': lsp_settings#get('solargraph', 'blacklist', []), \ 'config': lsp_settings#get('solargraph', 'config', {'typed_pattern': '\([$@]\k*\|\k\+\)$'}), diff --git a/settings/texlab.vim b/settings/texlab.vim index 94d4321..f9bce25 100644 --- a/settings/texlab.vim +++ b/settings/texlab.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_texlab \ 'name': 'texlab', \ 'cmd': {server_info->lsp_settings#get('texlab', 'cmd', [lsp_settings#exec_path('texlab')])}, \ 'root_uri':{server_info->lsp_settings#get('texlab', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, - \ 'initialization_options': lsp_settings#get('texlab', 'initialization_options', {"diagnostics": "true"}), + \ 'initialization_options': lsp_settings#get('texlab', 'initialization_options', {'diagnostics': 'true'}), \ 'whitelist': lsp_settings#get('texlab', 'whitelist', ['plaintex', 'tex']), \ 'blacklist': lsp_settings#get('texlab', 'blacklist', []), \ 'config': lsp_settings#get('texlab', 'config', {}), diff --git a/settings/typescript-language-server.vim b/settings/typescript-language-server.vim index 12ccba5..adf4838 100644 --- a/settings/typescript-language-server.vim +++ b/settings/typescript-language-server.vim @@ -4,7 +4,7 @@ augroup vimlsp_settings_typescript_language_server \ 'name': 'typescript-language-server', \ 'cmd': {server_info->lsp_settings#get('typescript-language-server', 'cmd', [lsp_settings#exec_path('typescript-language-server'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('typescript-language-server', 'root_uri', lsp_settings#root_uri(extend(['package.json', 'tsconfig.json'], g:lsp_settings_root_markers)))}, - \ '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', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx']), \ 'blacklist': lsp_settings#get('typescript-language-server', 'blacklist', []), \ 'config': lsp_settings#get('typescript-language-server', 'config', {}), -- cgit v1.2.3-54-g00ecf From c62e905afc8006ebd45ccb9f51f363016f71daae Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Mon, 10 Feb 2020 02:02:04 +0900 Subject: Fix refresh_pattern for string literal --- settings.json | 1 + 1 file changed, 1 insertion(+) diff --git a/settings.json b/settings.json index dacbf79..2dc8a9c 100644 --- a/settings.json +++ b/settings.json @@ -254,6 +254,7 @@ ], "json": [ { + "refresh_pattern": "\\(\"\\k*\\|\\[\\|\\k\\+\\)$", "command": "json-languageserver", "requires": [ "npm" -- cgit v1.2.3-54-g00ecf From c1e88b1abecf633c2850f5c515d6255b5b995c44 Mon Sep 17 00:00:00 2001 From: August Janse Date: Mon, 10 Feb 2020 09:43:13 +0100 Subject: Clarify usage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01ee94b..dad82a3 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,7 @@ But when rebuild the cache, any merging plugin manager erases old cached files(i You can change the directory to install servers by set `g:lsp_settings_servers_dir` option in full path. ## Usage +While editing a file with a supported filetype: ``` :LspInstallServer -- cgit v1.2.3-54-g00ecf From c69a2666210f31d52823a4a3faacaeaff732ae3f Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Tue, 11 Feb 2020 22:41:40 +0900 Subject: Show uninstalling message --- autoload/lsp_settings.vim | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 3b78c66..913c798 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -9,6 +9,10 @@ call remove(s:settings, '$schema') let s:ftmap = {} +function! lsp_settings#installer_dir() abort + return s:installer_dir +endfunction + function! lsp_settings#servers_dir() abort let l:path = fnamemodify(get(g:, 'lsp_settings_servers_dir', s:servers_dir), ':p') if has('win32') @@ -176,9 +180,13 @@ function! lsp_settings#autocd(server_info) abort endif endfunction +function! lsp_settings#settings() abort + return s:settings +endfunction + function! lsp_settings#complete_uninstall(arglead, cmdline, cursorpos) abort let l:installers = [] - for l:ft in keys(s:settings) + for l:ft in sort(keys(s:settings)) for l:conf in s:settings[l:ft] if !isdirectory(lsp_settings#servers_dir() . '/' . l:conf.command) continue @@ -272,6 +280,7 @@ function! s:vim_lsp_install_server(ft, command) abort endif let l:server_install_dir = lsp_settings#servers_dir() . '/' . l:entry[0] if isdirectory(l:server_install_dir) + call lsp_settings#utils#msg('Uninstalling ' . l:entry[0]) call delete(l:server_install_dir, 'rf') endif call mkdir(l:server_install_dir, 'p') -- cgit v1.2.3-54-g00ecf From 67dd6f4a23c9f85412f12779d44df00545c82f31 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 12 Feb 2020 09:42:29 +0900 Subject: Check FileType in little later --- autoload/lsp_settings.vim | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 913c798..4057260 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -333,8 +333,12 @@ function! s:vim_lsp_suggest_plugin() abort endfor endfunction +function! s:vim_lsp_load_or_suggest_delay(ft) abort + call timer_start(0, {timer -> s:vim_lsp_load_or_suggest(a:ft)}) +endfunction + function! s:vim_lsp_load_or_suggest(ft) abort - if !has_key(s:settings, a:ft) + if &filetype !=# a:ft || !has_key(s:settings, a:ft) return endif @@ -431,7 +435,7 @@ function! lsp_settings#init() abort endif exe 'augroup' lsp_settings#utils#group_name(l:ft) autocmd! - exe 'autocmd FileType' l:ft printf("call s:vim_lsp_load_or_suggest('%s')", l:ft) + exe 'autocmd FileType' l:ft 'call' printf("s:vim_lsp_load_or_suggest_delay('%s')", l:ft) augroup END endfor augroup vim_lsp_suggest -- cgit v1.2.3-54-g00ecf From ce9a222097f52a2548c25e93113833204da0eb77 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 12 Feb 2020 10:05:09 +0900 Subject: Add hack to avoid failing tests --- autoload/lsp_settings.vim | 5 ++++- test/lsp_settings.vimspec | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index 4057260..f012432 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -334,11 +334,14 @@ function! s:vim_lsp_suggest_plugin() abort endfunction function! s:vim_lsp_load_or_suggest_delay(ft) abort + if get(g:, 'vim_lsp_settings_filetype_no_delays', 0) + return s:vim_lsp_load_or_suggest(a:ft) + endif call timer_start(0, {timer -> s:vim_lsp_load_or_suggest(a:ft)}) endfunction function! s:vim_lsp_load_or_suggest(ft) abort - if &filetype !=# a:ft || !has_key(s:settings, a:ft) + if (a:ft != '_' && &filetype !=# a:ft) || !has_key(s:settings, a:ft) return endif diff --git a/test/lsp_settings.vimspec b/test/lsp_settings.vimspec index 36db445..904610a 100644 --- a/test/lsp_settings.vimspec +++ b/test/lsp_settings.vimspec @@ -88,6 +88,7 @@ Describe lsp_settings It should setup commands and autocmds. call lsp_settings#clear() call lsp_settings#init() + let g:vim_lsp_settings_filetype_no_delays = 1 autocmd vim_lsp_suggest_python Assert exists(':LspInstallServer') delcommand LspInstallServer @@ -99,6 +100,7 @@ Describe lsp_settings exe 'augroup! ' . v endfor bw! + unlet g:vim_lsp_settings_filetype_no_delays End It should setup commands and autocmds with python. @@ -106,6 +108,7 @@ Describe lsp_settings call lsp_settings#init() new let g:lsp_settings = {'pyls': {'cmd': ['foo', 'bar']}} + let g:vim_lsp_settings_filetype_no_delays = 1 Throw /E117/ :setfiletype python bw! for v in filter(split(execute('augroup'), '\s\+'), 'v:val=~"^vim_lsp_suggest"') @@ -115,6 +118,7 @@ Describe lsp_settings exe 'augroup! ' . v endfor unlet g:lsp_settings + unlet g:vim_lsp_settings_filetype_no_delays End End End -- cgit v1.2.3-54-g00ecf From 1ea1f8a5c8951d7a6cec6a65d02287ae360639f5 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Wed, 12 Feb 2020 10:12:46 +0900 Subject: Fix vint warning --- autoload/lsp_settings.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index f012432..0b53209 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -341,7 +341,7 @@ function! s:vim_lsp_load_or_suggest_delay(ft) abort endfunction function! s:vim_lsp_load_or_suggest(ft) abort - if (a:ft != '_' && &filetype !=# a:ft) || !has_key(s:settings, a:ft) + if (a:ft !=# '_' && &filetype !=# a:ft) || !has_key(s:settings, a:ft) return endif -- cgit v1.2.3-54-g00ecf