From 02166bb14a6c30e910f97bd8ab8cf570ca98bc7c Mon Sep 17 00:00:00 2001 From: sgur Date: Fri, 24 Jan 2020 16:13:42 +0900 Subject: Use g:lsp_settings.initialization_options value for vim-language-server --- settings/vim-language-server.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings/vim-language-server.vim b/settings/vim-language-server.vim index ab91f10..e31efed 100644 --- a/settings/vim-language-server.vim +++ b/settings/vim-language-server.vim @@ -4,8 +4,8 @@ augroup vimlsp_settings_vim_language_server \ 'name': 'vim-language-server', \ 'cmd': {server_info->lsp_settings#get('vim-language-server', 'cmd', [lsp_settings#exec_path('vim-language-server'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('vim-language-server', 'root_uri', lsp_settings#root_uri(extend(['.vim/', 'vimfiles/'], g:lsp_settings_root_markers)))}, - \ 'initialization_options': { 'vimruntime': $VIMRUNTIME, 'runtimepath': &rtp }, - \ 'whitelist': lsp_settings#get('vim-language-server', 'whitelist', ['vim']), + \ 'initialization_options': extend({'vimruntime': $VIMRUNTIME, 'runtimepath': &rtp}, lsp_settings#get('vim-language-server', 'initialization_options', {}), 'force'), + \ 'whitelist': lsp_settings#get('vim-language-server', 'whitelist', ['vim']), \ 'blacklist': lsp_settings#get('vimbash-language-server', 'blacklist', []), \ 'config': lsp_settings#get('vim-language-server', 'config', {}), \ 'workspace_config': lsp_settings#get('vim-language-server', 'workspace_config', {}), -- cgit v1.2.3-54-g00ecf From 2a5cc5edef6ca0abeee6a48b961ba2ff44867a13 Mon Sep 17 00:00:00 2001 From: tyru Date: Fri, 24 Jan 2020 18:41:23 +0900 Subject: fix message via https://github.com/mattn/vim-lsp-settings/pull/93/files#r370495681 --- plugin/lsp_settings.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 6e33743..72a8729 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -133,7 +133,7 @@ function! s:vimlsp_settings_suggest() abort if exists(':LspInstallServer') !=# 2 redraw echohl Directory - echomsg 'If enable Language Server, please do :LspInstallServer' + echomsg 'Please do :LspInstallServer to enable Language Server' echohl None command! -buffer LspInstallServer call s:vimlsp_install_server() endif @@ -186,7 +186,7 @@ function! s:vimlsp_suggest_plugin() abort endif redraw echohl Directory - echomsg printf('If enable Language Server, please install vim-plugin "%s"', l:server['vim-plugin']['name']) + echomsg printf('Please install vim-plugin "%s" to enable Language Server', l:server['vim-plugin']['name']) echohl None return endfor -- cgit v1.2.3-54-g00ecf From b04982423e4bada1c0fa51393a07d30257fa8ca9 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Fri, 24 Jan 2020 21:41:55 +0900 Subject: Support jsonc --- settings.json | 54 +++++++++++++++++++++++++--------------- settings/json-languageserver.vim | 2 +- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/settings.json b/settings.json index a4d781f..a81206c 100644 --- a/settings.json +++ b/settings.json @@ -206,6 +206,20 @@ ] } ], + "jsonc": [ + { + "command": "json-languageserver", + "requires": [ + "npm" + ], + "vim-plugin": { + "extensions": [ + "cjson" + ], + "name": "neoclide/jsonc.vim" + } + } + ], "kotlin": [ { "command": "kotlin-language-server", @@ -256,6 +270,26 @@ } } ], + "perl": [ + { + "command": "slp", + "requires": [ + "cpanm" + ] + }, + { + "command": "monastery", + "requires": [ + "cpanm" + ] + }, + { + "command": "perl-languageserver", + "requires": [ + "cpanm" + ] + } + ], "php": [ { "command": "intelephense", @@ -426,26 +460,6 @@ ] } ], - "perl": [ - { - "command": "slp", - "requires": [ - "cpanm" - ] - }, - { - "command": "monastery", - "requires": [ - "cpanm" - ] - }, - { - "command": "perl-languageserver", - "requires": [ - "cpanm" - ] - } - ], "yaml": [ { "command": "yaml-language-server", diff --git a/settings/json-languageserver.vim b/settings/json-languageserver.vim index d7e79ca..a19b3b6 100644 --- a/settings/json-languageserver.vim +++ b/settings/json-languageserver.vim @@ -5,7 +5,7 @@ augroup vimlsp_settings_json_languageserver \ 'cmd': {server_info->lsp_settings#get('json-languageserver', 'cmd', [lsp_settings#exec_path('json-languageserver'), '--stdio'])}, \ 'root_uri':{server_info->lsp_settings#get('json-languageserver', 'root_uri', lsp_settings#root_uri(g:lsp_settings_root_markers))}, \ 'initialization_options': lsp_settings#get('json-languageserver', 'initialization_options', v:null), - \ 'whitelist': lsp_settings#get('json-languageserver', 'whitelist', ['json']), + \ 'whitelist': lsp_settings#get('json-languageserver', 'whitelist', ['json', 'jsonc']), \ 'blacklist': lsp_settings#get('json-languageserver', 'blacklist', []), \ 'config': lsp_settings#get('json-languageserver', 'config', {}), \ 'workspace_config': lsp_settings#get('json-languageserver', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': json_decode(join(readfile(expand(':h:h') . '/data/catalog.json'), "\n"))['schemas']}}}), -- cgit v1.2.3-54-g00ecf From 6df097286f96be0d4aade9edb9d2390e34a3e070 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Fri, 24 Jan 2020 22:59:44 +0900 Subject: Add json schema --- plugin/lsp_settings.vim | 2 ++ schema.json | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ settings.json | 1 + 3 files changed, 59 insertions(+) create mode 100644 schema.json diff --git a/plugin/lsp_settings.vim b/plugin/lsp_settings.vim index 72a8729..7c3787e 100644 --- a/plugin/lsp_settings.vim +++ b/plugin/lsp_settings.vim @@ -17,6 +17,8 @@ let s:servers_dir = expand(':h:h').'/servers' let s:settings = json_decode(join(readfile(expand(':h:h').'/settings.json'), "\n")) let s:ftmap = {} +call remove(s:settings, '$schema') + function! s:executable(cmd) abort if executable(a:cmd) return 1 diff --git a/schema.json b/schema.json new file mode 100644 index 0000000..3998775 --- /dev/null +++ b/schema.json @@ -0,0 +1,56 @@ +{ + "$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", + "title": "filetype name", + "items": { + "title": "define command description", + "type": "object", + "additionalProperties": false, + "required": [ + "command", + "requires" + ], + "properties": { + "command": { + "title": "define name of language server", + "type": "string" + }, + "requires": { + "title": "define commands to install this language server", + "type": "array", + "items": { + "type": "string", + "title": "executable command name" + } + }, + "vim-plugin": { + "title": "define suggestion for vim-plugin", + "type": "object", + "additionalProperties": false, + "properties": { + "extensions": { + "type": "array", + "items": { + "type": "string", + "title": "file extensions" + } + }, + "name": { + "type": "string", + "title": "plugin identify user/repo" + } + } + } + } + } + } + } +} diff --git a/settings.json b/settings.json index a81206c..4d95605 100644 --- a/settings.json +++ b/settings.json @@ -1,4 +1,5 @@ { + "$schema": "./schema.json", "c": [ { "command": "clangd", -- cgit v1.2.3-54-g00ecf From 431fb236bfb6dd70b98c6c453a2dc48d780bcb74 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Fri, 24 Jan 2020 23:03:12 +0900 Subject: Should be description --- schema.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/schema.json b/schema.json index 3998775..c9ccb91 100644 --- a/schema.json +++ b/schema.json @@ -9,9 +9,9 @@ }, "^([a-z0-9_-]+)+$": { "type": "array", - "title": "filetype name", + "description": "filetype name", "items": { - "title": "define command description", + "description": "define command description", "type": "object", "additionalProperties": false, "required": [ @@ -20,19 +20,19 @@ ], "properties": { "command": { - "title": "define name of language server", + "description": "define name of language server", "type": "string" }, "requires": { - "title": "define commands to install this language server", + "description": "define commands to install this language server", "type": "array", "items": { "type": "string", - "title": "executable command name" + "description": "executable command name" } }, "vim-plugin": { - "title": "define suggestion for vim-plugin", + "description": "define suggestion for vim-plugin", "type": "object", "additionalProperties": false, "properties": { @@ -40,12 +40,12 @@ "type": "array", "items": { "type": "string", - "title": "file extensions" + "description": "file extensions" } }, "name": { "type": "string", - "title": "plugin identify user/repo" + "description": "plugin identify user/repo" } } } -- cgit v1.2.3-54-g00ecf