Add jq as a JSON fixer

This commit is contained in:
Rafael Rinaldi 2018-01-24 10:12:29 +00:00 committed by w0rp
parent 038789f0ed
commit d562d53102
5 changed files with 53 additions and 2 deletions

View file

@ -159,6 +159,11 @@ let s:default_registry = {
\ 'suggested_filetypes': ['java'],
\ 'description': 'Fix Java files with google-java-format.',
\ },
\ 'jq': {
\ 'function': 'ale#fixers#jq#Fix',
\ 'suggested_filetypes': ['json'],
\ 'description': 'Fix JSON files with jq.',
\ },
\}
" Reset the function registry to the default entries.

View file

@ -0,0 +1,18 @@
call ale#Set('json_jq_executable', 'jq')
call ale#Set('json_jq_use_global', 0)
call ale#Set('json_jq_options', '')
function! ale#fixers#jq#GetExecutable(buffer) abort
return ale#node#FindExecutable(a:buffer, 'jq', [
\ 'jq',
\])
endfunction
function! ale#fixers#jq#Fix(buffer) abort
let l:options = ale#Var(a:buffer, 'json_jq_options')
return {
\ 'command': ale#Escape(ale#fixers#jq#GetExecutable(a:buffer))
\ . ' . ' . l:options,
\}
endfunction