#476 Make F401 a warning and E112 a syntax error

This commit is contained in:
w0rp 2018-02-18 09:44:04 +00:00
parent fcb7932d7d
commit 5972b97223
4 changed files with 55 additions and 5 deletions

View file

@ -105,11 +105,16 @@ function! ale_linters#python#flake8#Handle(buffer, lines) abort
\ 'type': 'W',
\}
if l:code[:0] is# 'F' || l:code is# 'E999'
let l:item.type = 'E'
if l:code[:0] is# 'F'
if l:code isnot# 'F401'
let l:item.type = 'E'
endif
elseif l:code[:0] is# 'E'
let l:item.type = 'E'
let l:item.sub_type = 'style'
if l:code isnot# 'E999' && l:code isnot# 'E112'
let l:item.sub_type = 'style'
endif
elseif l:code[:0] is# 'W'
let l:item.sub_type = 'style'
endif

View file

@ -44,8 +44,8 @@ function! ale_linters#python#pycodestyle#Handle(buffer, lines) abort
\ 'code': l:match[4],
\}
" E999 is not a style error, it's a syntax error.
if l:match[4] is# 'E999'
" E999 and E112 are syntax errors.
if l:match[4] is# 'E999' || l:match[4] is# 'E112'
unlet l:item.sub_type
endif

View file

@ -214,3 +214,33 @@ Execute(Disabling trailing blank line warnings should work):
\ ale_linters#python#flake8#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file',
\ ])
Execute(F401 should be a warning):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'F401',
\ 'type': 'W',
\ 'text': 'module imported but unused',
\ },
\ ],
\ ale_linters#python#flake8#Handle(bufnr(''), [
\ 'foo.py:6:1: F401 module imported but unused',
\ ])
Execute(E112 should be a syntax error):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'E112',
\ 'type': 'E',
\ 'text': 'expected an indented block',
\ },
\ ],
\ ale_linters#python#flake8#Handle(bufnr(''), [
\ 'foo.py:6:1: E112 expected an indented block',
\ ])

View file

@ -137,3 +137,18 @@ Execute(Disabling trailing blank line warnings should work):
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file',
\ ])
Execute(E112 should be a syntax error):
AssertEqual
\ [
\ {
\ 'lnum': 6,
\ 'col': 1,
\ 'code': 'E112',
\ 'type': 'E',
\ 'text': 'expected an indented block',
\ },
\ ],
\ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: E112 expected an indented block',
\ ])