diff options
Diffstat (limited to 'autoload/ale/handlers/deadnix.vim')
-rw-r--r-- | autoload/ale/handlers/deadnix.vim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/autoload/ale/handlers/deadnix.vim b/autoload/ale/handlers/deadnix.vim new file mode 100644 index 00000000..8f03f38e --- /dev/null +++ b/autoload/ale/handlers/deadnix.vim @@ -0,0 +1,33 @@ +function! ale#handlers#deadnix#Handle(buffer, lines) abort + let l:output = [] + + for l:line in a:lines + try + let l:file = ale#util#FuzzyJSONDecode(l:line, v:null) + catch + continue + endtry + + if type(l:file) isnot v:t_dict + continue + endif + + for l:error in l:file['results'] + try + let l:ale_error = { + \ 'lnum': l:error['line'], + \ 'col': l:error['column'], + \ 'end_col': l:error['endColumn'], + \ 'text': l:error['message'], + \ 'type': 'W', + \} + catch + continue + endtry + + call add(l:output, l:ale_error) + endfor + endfor + + return l:output +endfunction |