Fix mypy error parsing when column numbers are included.

This commit is contained in:
w0rp 2017-02-04 19:47:37 +00:00
parent 829f87bc6a
commit d953c68ebb
2 changed files with 13 additions and 1 deletions

View File

@ -16,6 +16,8 @@ function! g:ale_linters#python#mypy#GetCommand(buffer) abort
\ . g:ale_python_mypy_options \ . g:ale_python_mypy_options
endfunction endfunction
let s:path_pattern = '[a-zA-Z]\?\\\?:\?[[:alnum:]/\.\-_]\+'
function! g:ale_linters#python#mypy#Handle(buffer, lines) abort function! g:ale_linters#python#mypy#Handle(buffer, lines) abort
" Look for lines like the following: " Look for lines like the following:
" "
@ -24,7 +26,7 @@ function! g:ale_linters#python#mypy#Handle(buffer, lines) abort
" Lines like these should be ignored below: " Lines like these should be ignored below:
" "
" file.py:4: note: (Stub files are from https://github.com/python/typeshed) " file.py:4: note: (Stub files are from https://github.com/python/typeshed)
let l:pattern = '^.\+:\(\d\+\):\?\(\d\+\)\?: \([^:]\+\): \(.\+\)$' let l:pattern = '^' . s:path_pattern . ':\(\d\+\):\?\(\d\+\)\?: \([^:]\+\): \(.\+\)$'
let l:output = [] let l:output = []
for l:line in a:lines for l:line in a:lines

View File

@ -12,10 +12,20 @@ Execute(The mypy handler should parse lines correctly):
\ 'type': 'E', \ 'type': 'E',
\ 'nr': -1, \ 'nr': -1,
\ }, \ },
\ {
\ 'bufnr': 347,
\ 'lnum': 40,
\ 'vcol': 0,
\ 'col': 5,
\ 'text': "Some other problem",
\ 'type': 'E',
\ 'nr': -1,
\ },
\ ], \ ],
\ ale_linters#python#mypy#Handle(347, [ \ ale_linters#python#mypy#Handle(347, [
\ "file.py:4: error: No library stub file for module 'django.db'", \ "file.py:4: error: No library stub file for module 'django.db'",
\ 'file.py:4: note: (Stub files are from https://github.com/python/typeshed)', \ 'file.py:4: note: (Stub files are from https://github.com/python/typeshed)',
\ "file.py:40:5: error: Some other problem",
\ ]) \ ])
After: After: