Fix #1492 - Make pylint error parsing work on Windows

This commit is contained in:
w0rp 2018-04-10 15:18:16 +01:00
parent 9d00695249
commit 3f0e1cd05d
2 changed files with 20 additions and 1 deletions

View file

@ -25,7 +25,7 @@ function! ale_linters#python#pylint#Handle(buffer, lines) abort
" Matches patterns like the following:
"
" test.py:4:4: W0101 (unreachable) Unreachable code
let l:pattern = '\v^[^:]+:(\d+):(\d+): ([[:alnum:]]+) \(([^(]*)\) (.*)$'
let l:pattern = '\v^[a-zA-Z]?:?[^:]+:(\d+):(\d+): ([[:alnum:]]+) \(([^(]*)\) (.*)$'
let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern)

View file

@ -94,3 +94,22 @@ Execute(Ignoring trailing whitespace messages should work):
\ '------------------------------------------------------------------',
\ 'Your code has been rated at 0.00/10 (previous run: 2.50/10, -2.50)',
\ ])
Execute(The pylint handler should parse Windows filenames):
AssertEqual
\ [
\ {
\ 'lnum': 13,
\ 'col': 6,
\ 'text': 'Undefined variable ''x''',
\ 'code': 'undefined-variable',
\ 'type': 'E',
\ },
\ ],
\ ale_linters#python#pylint#Handle(bufnr(''), [
\ '************* Module test',
\ 'D:\acm\github\vim\tools\test.py:13:5: E0602 (undefined-variable) Undefined variable ''x''',
\ '',
\ '------------------------------------------------------------------',
\ 'Your code has been rated at 5.83/10 (previous run: 5.83/10, +0.00)',
\ ])