summaryrefslogtreecommitdiff
path: root/autoload/ale/handlers/deadnix.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/ale/handlers/deadnix.vim')
-rw-r--r--autoload/ale/handlers/deadnix.vim33
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