diff options
author | Carl Smedstad <carl.smedstad@protonmail.com> | 2023-04-13 01:51:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-13 08:51:52 +0900 |
commit | 93100159a2ee71fea8853dcd45ec48c8222516fe (patch) | |
tree | 65b4e8a3be81476b7dd38dbe1e430d51f9b1bdc8 /ale_linters/bicep/bicep.vim | |
parent | 57254db9ef1e0b0bf21466ed2d3ebaf60338768f (diff) | |
download | ale-93100159a2ee71fea8853dcd45ec48c8222516fe.zip |
Add support for Bicep when installed as a plugin to Azure CLI (#4496)
* Add support for Bicep when installed as a plugin to Azure CLI
The compiler for Microsoft's DSL Bicep can be installed both
independently and as a plugin to Azure CLI. The latter is probably how
most people install it.
The program output is the same but Azure CLI wraps the arguments and has
a slightly different interface, hence I opted to copy the old linter and
modify it to match the plugin arguments.
* Fix bicep/az_bicep tests, arguments and parsing
* Actually test the ale_linters#bicep#az_bicep#Handle function in the
test that should test that function, not
ale_linters#bicep#bicep#Handle.
* Use the same method as in bicep/bicep for discarding output file, i.e.
by specifying --outfile to a null file.
* Fix parsing of occasionally occurring leading error type (such as
'ERROR: ').
* Correct option defaults for bicep & az_bicep specified in documentation
Diffstat (limited to 'ale_linters/bicep/bicep.vim')
-rw-r--r-- | ale_linters/bicep/bicep.vim | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/ale_linters/bicep/bicep.vim b/ale_linters/bicep/bicep.vim index 91cc1986..a5f0d7c6 100644 --- a/ale_linters/bicep/bicep.vim +++ b/ale_linters/bicep/bicep.vim @@ -30,24 +30,25 @@ function! ale_linters#bicep#bicep#Command(buffer) abort endfunction function! ale_linters#bicep#bicep#Handle(buffer, lines) abort - let l:pattern = '\v^.*\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)' + let l:pattern = '\v^(.*)\((\d+),(\d+)\)\s:\s([a-zA-Z]*)\s([-a-zA-Z0-9]*):\s(.*)' let l:output = [] for l:match in ale#util#GetMatches(a:lines, l:pattern) - if l:match[3] is# 'Error' + if l:match[4] is# 'Error' let l:type = 'E' - elseif l:match[3] is# 'Warning' + elseif l:match[4] is# 'Warning' let l:type = 'W' else let l:type = 'I' endif call add(l:output, { - \ 'lnum': l:match[1] + 0, - \ 'col': l:match[2] + 0, + \ 'filename': l:match[1], + \ 'lnum': l:match[2] + 0, + \ 'col': l:match[3] + 0, \ 'type': l:type, - \ 'code': l:match[4], - \ 'text': l:match[5], + \ 'code': l:match[5], + \ 'text': l:match[6], \}) endfor |