#852 Capture error codes for pycodestyle, and consider every code except E999 to be style errors or warnings
This commit is contained in:
parent
cf538c3a58
commit
1d65e5692f
2 changed files with 37 additions and 10 deletions
|
@ -17,18 +17,27 @@ function! ale_linters#python#pycodestyle#GetCommand(buffer) abort
|
|||
endfunction
|
||||
|
||||
function! ale_linters#python#pycodestyle#Handle(buffer, lines) abort
|
||||
let l:pattern = '\v^(\S*):(\d*):(\d*): ((([EW])\d+) .*)$'
|
||||
let l:pattern = '\v^(\S*):(\d*):(\d*): ([EW]\d+) (.*)$'
|
||||
let l:output = []
|
||||
|
||||
" lines are formatted as follows:
|
||||
" file.py:21:26: W291 trailing whitespace
|
||||
for l:match in ale#util#GetMatches(a:lines, l:pattern)
|
||||
call add(l:output, {
|
||||
let l:item = {
|
||||
\ 'lnum': l:match[2] + 0,
|
||||
\ 'col': l:match[3] + 0,
|
||||
\ 'type': l:match[6],
|
||||
\ 'text': l:match[4],
|
||||
\})
|
||||
\ 'type': l:match[4][0],
|
||||
\ 'sub_type': 'style',
|
||||
\ 'text': l:match[5],
|
||||
\ 'code': l:match[4],
|
||||
\}
|
||||
|
||||
" E999 is not a style error, it's a syntax error.
|
||||
if l:match[4] is# 'E999'
|
||||
unlet l:item.sub_type
|
||||
endif
|
||||
|
||||
call add(l:output, l:item)
|
||||
endfor
|
||||
|
||||
return l:output
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue