#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', \ 'type': 'W',
\} \}
if l:code[:0] is# 'F' || l:code is# 'E999' if l:code[:0] is# 'F'
let l:item.type = 'E' if l:code isnot# 'F401'
let l:item.type = 'E'
endif
elseif l:code[:0] is# 'E' elseif l:code[:0] is# 'E'
let l:item.type = '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' elseif l:code[:0] is# 'W'
let l:item.sub_type = 'style' let l:item.sub_type = 'style'
endif endif

View File

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

View File

@ -214,3 +214,33 @@ Execute(Disabling trailing blank line warnings should work):
\ ale_linters#python#flake8#Handle(bufnr(''), [ \ ale_linters#python#flake8#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file', \ '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(''), [ \ ale_linters#python#pycodestyle#Handle(bufnr(''), [
\ 'foo.py:6:1: W391 blank line at end of file', \ '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',
\ ])