summaryrefslogtreecommitdiff
path: root/ale_linters
diff options
context:
space:
mode:
authorDalius Dobravolskas <dalius.dobravolskas@gmail.com>2022-04-30 06:33:48 +0300
committerGitHub <noreply@github.com>2022-04-30 12:33:48 +0900
commit34892186e44b21356c84e1c2e019f96a304c3edc (patch)
treefe6b13f579b58b7a56f0b0e7ae204c1ce101588f /ale_linters
parentd484347fb5f63cd5d4d4da7bf1ba4fc197f668eb (diff)
downloadale-34892186e44b21356c84e1c2e019f96a304c3edc.zip
vscode-json-languageserver support (#4164)
* vscode-json-languageserver-bin support VSCode JSON languageserver has schema support for linting and completions. I have enabled snippets support (`snippetSupport`) even if it is not fully supported. `label` that comes with completions response can be used as well. * Test fix. * vscode-json-languageserver instead of vscode-json-languageserver-bin vscode-json-languageserver is more up-to-date (about 1 year old), vscode-json-languageserver-bin is 4 years old. * Use git root. * Documentation update. * Trying to sort ordering issue. * One more attempt * One more attempt * Uppercase seems to win. * Clean-up * Clean-up 2 * Test removed.
Diffstat (limited to 'ale_linters')
-rw-r--r--ale_linters/json/vscodejson.vim16
1 files changed, 16 insertions, 0 deletions
diff --git a/ale_linters/json/vscodejson.vim b/ale_linters/json/vscodejson.vim
new file mode 100644
index 00000000..91988923
--- /dev/null
+++ b/ale_linters/json/vscodejson.vim
@@ -0,0 +1,16 @@
+" Author: Dalius Dobravolskas <dalius.dobravolskas@gmail.com>
+" Description: VSCode json languageserver
+
+function! ale_linters#json#vscodejson#GetProjectRoot(buffer) abort
+ let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
+
+ return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
+endfunction
+
+call ale#linter#Define('json', {
+\ 'name': 'vscodejson',
+\ 'lsp': 'stdio',
+\ 'executable': 'vscode-json-languageserver',
+\ 'command': '%e --stdio',
+\ 'project_root': function('ale_linters#json#vscodejson#GetProjectRoot'),
+\})