diff options
author | davidsierradz <davidsierradz@gmail.com> | 2019-03-15 16:21:48 -0500 |
---|---|---|
committer | davidsierradz <davidsierradz@gmail.com> | 2019-03-15 16:21:48 -0500 |
commit | dfff73795a8ab4f8eeb31e0165cb9b63af3c8cf2 (patch) | |
tree | 67c2743e7a5949e0b73bc4b1c36918dcb0d22072 /ale_linters/json | |
parent | 80ef7ea2d0b22f0d8de7387a3d5bf6e9e5b72e9d (diff) | |
download | ale-dfff73795a8ab4f8eeb31e0165cb9b63af3c8cf2.zip |
support jsonlint local executable
Diffstat (limited to 'ale_linters/json')
-rw-r--r-- | ale_linters/json/jsonlint.vim | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/ale_linters/json/jsonlint.vim b/ale_linters/json/jsonlint.vim index f01553d6..f677b488 100644 --- a/ale_linters/json/jsonlint.vim +++ b/ale_linters/json/jsonlint.vim @@ -1,4 +1,21 @@ -" Author: KabbAmine <amine.kabb@gmail.com> +" Author: KabbAmine <amine.kabb@gmail.com>, David Sierra <https://github.com/davidsierradz> + +call ale#Set('json_jsonlint_executable', 'jsonlint') +call ale#Set('json_jsonlint_use_global', get(g:, 'ale_use_global_executables', 0)) + +function! ale_linters#json#jsonlint#GetExecutable(buffer) abort + return ale#node#FindExecutable(a:buffer, 'json_jsonlint', [ + \ 'node_modules/.bin/jsonlint', + \ 'node_modules/jsonlint/lib/cli.js', + \]) +endfunction + +function! ale_linters#json#jsonlint#GetCommand(buffer) abort + let l:executable = ale_linters#json#jsonlint#GetExecutable(a:buffer) + + return ale#node#Executable(a:buffer, l:executable) + \ . ' --compact -' +endfunction function! ale_linters#json#jsonlint#Handle(buffer, lines) abort " Matches patterns like the following: @@ -19,8 +36,8 @@ endfunction call ale#linter#Define('json', { \ 'name': 'jsonlint', -\ 'executable': 'jsonlint', +\ 'executable': function('ale_linters#json#jsonlint#GetExecutable'), \ 'output_stream': 'stderr', -\ 'command': 'jsonlint --compact -', +\ 'command': function('ale_linters#json#jsonlint#GetCommand'), \ 'callback': 'ale_linters#json#jsonlint#Handle', \}) |