Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions installer/install-vscode-css-language-server.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off

call "%~dp0\npm_install.cmd" vscode-css-language-server vscode-langservers-extracted
5 changes: 5 additions & 0 deletions installer/install-vscode-css-language-server.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

set -e

"$(dirname "$0")/npm_install.sh" vscode-css-language-server vscode-langservers-extracted
3 changes: 3 additions & 0 deletions installer/install-vscode-html-language-server.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off

call "%~dp0\npm_install.cmd" vscode-html-language-server vscode-langservers-extracted
5 changes: 5 additions & 0 deletions installer/install-vscode-html-language-server.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

set -e

"$(dirname "$0")/npm_install.sh" vscode-html-language-server vscode-langservers-extracted
3 changes: 3 additions & 0 deletions installer/install-vscode-json-language-server.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off

call "%~dp0\npm_install.cmd" vscode-json-language-server vscode-langservers-extracted
5 changes: 5 additions & 0 deletions installer/install-vscode-json-language-server.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

set -e

"$(dirname "$0")/npm_install.sh" vscode-json-language-server vscode-langservers-extracted
33 changes: 33 additions & 0 deletions settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,17 @@
}
],
"css": [
{
"command": "vscode-css-language-server",
"url": "https://github.com/hrsh7th/vscode-langservers-extracted",
"description": "HTML/CSS/JSON language servers extracted from vscode.",
"config": {
"refresh_pattern": "\\([a-zA-Z0-9_-]\\+\\)$"
},
"requires": [
"npm"
]
},
{
"command": "css-languageserver",
"url": "https://github.com/vscode-langservers/vscode-css-languageserver-bin",
Expand Down Expand Up @@ -480,6 +491,17 @@
}
],
"html": [
{
"command": "vscode-html-language-server",
"url": "https://github.com/hrsh7th/vscode-langservers-extracted",
"description": "HTML/CSS/JSON language servers extracted from vscode.",
"config": {
"refresh_pattern": "\\(/\\|\\k\\+\\)$"
},
"requires": [
"npm"
]
},
{
"command": "html-languageserver",
"url": "https://github.com/vscode-langservers/vscode-html-languageserver-bin",
Expand Down Expand Up @@ -670,6 +692,17 @@
}
],
"json": [
{
"command": "vscode-json-language-server",
"url": "https://github.com/hrsh7th/vscode-langservers-extracted",
"description": "HTML/CSS/JSON language servers extracted from vscode.",
"config": {
"refresh_pattern": "\\(\"\\k*\\|\\[\\|\\k\\+\\)$"
},
"requires": [
"npm"
]
},
{
"command": "json-languageserver",
"url": "https://github.com/vscode-langservers/vscode-json-languageserver-bin",
Expand Down
19 changes: 19 additions & 0 deletions settings/vscode-css-language-server.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
augroup vim_lsp_settings_vscode_css_language_server
au!
LspRegisterServer {
\ 'name': 'vscode-css-language-server',
\ 'cmd': {server_info->lsp_settings#get('vscode-css-language-server', 'cmd', [lsp_settings#exec_path('vscode-css-language-server')]+lsp_settings#get('vscode-css-language-server', 'args', ['--stdio']))},
\ 'root_uri':{server_info->lsp_settings#get('vscode-css-language-server', 'root_uri', lsp_settings#root_uri('vscode-css-language-server'))},
\ 'initialization_options': lsp_settings#get('vscode-css-language-server', 'initialization_options', v:null),
\ 'allowlist': lsp_settings#get('vscode-css-language-server', 'allowlist', ['css', 'less', 'sass', 'scss']),
\ 'blocklist': lsp_settings#get('vscode-css-language-server', 'blocklist', []),
\ 'config': lsp_settings#get('vscode-css-language-server', 'config', lsp_settings#server_config('vscode-css-language-server')),
\ 'workspace_config': lsp_settings#get('vscode-css-language-server', 'workspace_config', {
\ 'css': {'lint': {'validProperties': []}},
\ 'less': {'lint': {'validProperties': []}},
\ 'sass': {'lint': {'validProperties': []}},
\ 'scss': {'lint': {'validProperties': []}},
\ }),
\ 'semantic_highlight': lsp_settings#get('vscode-css-language-server', 'semantic_highlight', {}),
\ }
augroup END
14 changes: 14 additions & 0 deletions settings/vscode-html-language-server.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
augroup vim_lsp_settings_vscode_html_language_server
au!
LspRegisterServer {
\ 'name': 'vscode-html-language-server',
\ 'cmd': {server_info->lsp_settings#get('vscode-html-language-server', 'cmd', [lsp_settings#exec_path('vscode-html-language-server')]+lsp_settings#get('vscode-html-language-server', 'args', ['--stdio']))},
\ 'root_uri':{server_info->lsp_settings#get('vscode-html-langserver', 'root_uri', lsp_settings#root_uri('vscode-html-language-server'))},
\ 'initialization_options': lsp_settings#get('vscode-html-language-server', 'initialization_options', {'embeddedLanguages': {'css': v:true, 'javascript': v:true}}),
\ 'allowlist': lsp_settings#get('vscode-html-language-server', 'allowlist', ['html']),
\ 'blocklist': lsp_settings#get('vscode-html-language-server', 'blocklist', []),
\ 'config': lsp_settings#get('vscode-html-language-server', 'config', lsp_settings#server_config('vscode-html-language-server')),
\ 'workspace_config': lsp_settings#get('vscode-html-language-server', 'workspace_config', {}),
\ 'semantic_highlight': lsp_settings#get('vscode-html-language-server', 'semantic_highlight', {}),
\ }
augroup END
30 changes: 30 additions & 0 deletions settings/vscode-json-language-server.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
augroup vim_lsp_settings_vscode_json_language_server
au!
LspRegisterServer {
\ 'name': 'vscode-json-language-server',
\ 'cmd': {server_info->lsp_settings#get('vscode-json-language-server', 'cmd', [lsp_settings#exec_path('vscode-json-language-server')]+lsp_settings#get('vscode-json-language-server', 'args', ['--stdio']))},
\ 'root_uri':{server_info->lsp_settings#get('vscode-json-language-server', 'root_uri', lsp_settings#root_uri('vscode-json-language-server'))},
\ 'initialization_options': lsp_settings#get('vscode-json-language-server', 'initialization_options', {'provideFormatter': v:true}),
\ 'allowlist': lsp_settings#get('vscode-json-language-server', 'allowlist', ['json', 'jsonc']),
\ 'blocklist': lsp_settings#get('vscode-json-language-server', 'blocklist', []),
\ 'config': lsp_settings#get('vscode-json-language-server', 'config', lsp_settings#server_config('vscode-json-language-server')),
\ 'workspace_config': lsp_settings#get('vscode-json-language-server', 'workspace_config', {name, key->{'json': {'format': {'enable': v:true}, 'schemas': lsp_settings#utils#load_schemas('vscode-json-language-server') + [{'fileMatch':['/vim-lsp-settings/settings.json', '/.vim-lsp-settings/settings.json'], 'url': 'https://mattn.github.io/vim-lsp-settings/local-schema.json'}]}}}),
\ 'semantic_highlight': lsp_settings#get('vscode-json-language-server', 'semantic_highlight', {}),
\ }
augroup END

function! s:set_schema(url) abort
let l:name = fnamemodify(lsp#utils#get_buffer_uri(), ':t')
let l:schema = [{'fileMatch':[l:name], 'url': a:url}]
let l:config = lsp_settings#merge('vscode-json-language-server', 'workspace_config', {'json': {'format': {'enable': v:true}, 'schemas': l:schema}})
call lsp#update_workspace_config('vscode-json-language-server', l:config)
endfunction

function! s:on_lsp_buffer_enabled() abort
command! -buffer -nargs=1 LspJsonSetSchema call <SID>set_schema(<q-args>)
endfunction

augroup lsp_install_json
au!
autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
augroup END