X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/ale_linters/zeek/zeek.vim?ds=sidebyside diff --git a/.vim/bundle/ale/ale_linters/zeek/zeek.vim b/.vim/bundle/ale/ale_linters/zeek/zeek.vim new file mode 100644 index 00000000..1c93094f --- /dev/null +++ b/.vim/bundle/ale/ale_linters/zeek/zeek.vim @@ -0,0 +1,23 @@ +" Author: Benjamin Bannier +" Description: Support for checking Zeek files. +" +call ale#Set('zeek_zeek_executable', 'zeek') + +function! ale_linters#zeek#zeek#HandleErrors(buffer, lines) abort + let l:pattern = '\(error\|warning\) in \v.*, line (\d+): (.*)$' + + return map(ale#util#GetMatches(a:lines, l:pattern), "{ + \ 'lnum': str2nr(v:val[2]), + \ 'text': v:val[3], + \ 'type': (v:val[1] is# 'error') ? 'E': 'W', + \}") +endfunction + +call ale#linter#Define('zeek', { +\ 'name': 'zeek', +\ 'executable': {b -> ale#Var(b, 'zeek_zeek_executable')}, +\ 'output_stream': 'stderr', +\ 'command': {-> '%e --parse-only %s'}, +\ 'callback': 'ale_linters#zeek#zeek#HandleErrors', +\ 'lint_file': 1, +\})