#852 - Capture error codes for csslint

This commit is contained in:
w0rp 2017-11-18 23:15:23 +00:00
parent 2b50e68c7e
commit cefc5dc5b8
2 changed files with 18 additions and 17 deletions

View file

@ -14,23 +14,22 @@ function! ale#handlers#css#HandleCSSLintFormat(buffer, lines) abort
let l:output = [] let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern) for l:match in ale#util#GetMatches(a:lines, l:pattern)
let l:text = l:match[4] let l:item = {
let l:type = l:match[3]
let l:group_match = matchlist(l:text, '\v^(.+) \((.+)\)$')
" Put the error group at the front, so we can see what kind of error
" it is on small echo lines.
if !empty(l:group_match)
let l:text = '(' . l:group_match[2] . ') ' . l:group_match[1]
endif
call add(l:output, {
\ 'lnum': l:match[1] + 0, \ 'lnum': l:match[1] + 0,
\ 'col': l:match[2] + 0, \ 'col': l:match[2] + 0,
\ 'text': l:text, \ 'type': l:match[3] is# 'Warning' ? 'W' : 'E',
\ 'type': l:type is# 'Warning' ? 'W' : 'E', \ 'text': l:match[4],
\}) \}
let l:code_match = matchlist(l:match[4], '\v(.+) \(([^(]+)\)$')
" Split up the error code and the text if we find one.
if !empty(l:code_match)
let l:item.text = l:code_match[1]
let l:item.code = l:code_match[2]
endif
call add(l:output, l:item)
endfor endfor
return l:output return l:output

View file

@ -5,13 +5,15 @@ Execute(HandleCSSLintFormat should handle CSS errors):
\ 'lnum': 2, \ 'lnum': 2,
\ 'col': 1, \ 'col': 1,
\ 'type': 'E', \ 'type': 'E',
\ 'text': '(errors) Expected RBRACE at line 2, col 1.', \ 'text': 'Expected RBRACE at line 2, col 1.',
\ 'code': 'errors',
\ }, \ },
\ { \ {
\ 'lnum': 2, \ 'lnum': 2,
\ 'col': 5, \ 'col': 5,
\ 'type': 'W', \ 'type': 'W',
\ 'text': '(known-properties) Expected ... but found ''wat''.', \ 'text': 'Expected ... but found ''wat''.',
\ 'code': 'known-properties',
\ }, \ },
\ ], \ ],
\ ale#handlers#css#HandleCSSLintFormat(42, [ \ ale#handlers#css#HandleCSSLintFormat(42, [