mirror of
https://github.com/mattn/vim-lsp-settings.git
synced 2025-12-12 20:35:54 +01:00
Merge branch 'master' into efm
This commit is contained in:
@@ -17,6 +17,8 @@ let s:servers_dir = expand('<sfile>:h:h').'/servers'
|
||||
let s:settings = json_decode(join(readfile(expand('<sfile>:h:h').'/settings.json'), "\n"))
|
||||
let s:ftmap = {}
|
||||
|
||||
call remove(s:settings, '$schema')
|
||||
|
||||
function! s:executable(cmd) abort
|
||||
if executable(a:cmd)
|
||||
return 1
|
||||
@@ -133,7 +135,7 @@ function! s:vimlsp_settings_suggest(ft) 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(&l:filetype)
|
||||
endif
|
||||
@@ -186,7 +188,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
|
||||
|
||||
56
schema.json
Normal file
56
schema.json
Normal file
@@ -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",
|
||||
"description": "filetype name",
|
||||
"items": {
|
||||
"description": "define command description",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"command",
|
||||
"requires"
|
||||
],
|
||||
"properties": {
|
||||
"command": {
|
||||
"description": "define name of language server",
|
||||
"type": "string"
|
||||
},
|
||||
"requires": {
|
||||
"description": "define commands to install this language server",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "executable command name"
|
||||
}
|
||||
},
|
||||
"vim-plugin": {
|
||||
"description": "define suggestion for vim-plugin",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"extensions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"description": "file extensions"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "plugin identify user/repo"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"$schema": "./schema.json",
|
||||
"_": [
|
||||
{
|
||||
"command": "efm-langserver",
|
||||
@@ -212,6 +213,20 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"jsonc": [
|
||||
{
|
||||
"command": "json-languageserver",
|
||||
"requires": [
|
||||
"npm"
|
||||
],
|
||||
"vim-plugin": {
|
||||
"extensions": [
|
||||
"cjson"
|
||||
],
|
||||
"name": "neoclide/jsonc.vim"
|
||||
}
|
||||
}
|
||||
],
|
||||
"kotlin": [
|
||||
{
|
||||
"command": "kotlin-language-server",
|
||||
|
||||
@@ -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('<sfile>:h:h') . '/data/catalog.json'), "\n"))['schemas']}}}),
|
||||
|
||||
@@ -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', {}),
|
||||
|
||||
Reference in New Issue
Block a user