summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Sivak <jsivak@morpace.com>2017-06-25 20:19:39 -0400
committerJohn Sivak <jsivak@morpace.com>2017-06-25 20:19:39 -0400
commit539a76c5ae9222505d7cb73511c3581f58fe0343 (patch)
treec21b187ecbf81fcedb92ca0982be63e84069b087
parent1917e9157c5134044e16bb84997ad7fe5860a833 (diff)
downloadale-539a76c5ae9222505d7cb73511c3581f58fe0343.zip
Change regex to better handle messages with multiple groups of parentheses.
-rw-r--r--ale_linters/python/pylint.vim2
-rw-r--r--test/handler/test_pylint_handler.vader7
2 files changed, 8 insertions, 1 deletions
diff --git a/ale_linters/python/pylint.vim b/ale_linters/python/pylint.vim
index d339daa9..dcb26c78 100644
--- a/ale_linters/python/pylint.vim
+++ b/ale_linters/python/pylint.vim
@@ -36,7 +36,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^[^:]+:(\d+):(\d+): ([[:alnum:]]+) \(([^(]*)\) (.*)$'
let l:output = []
for l:match in ale#util#GetMatches(a:lines, l:pattern)
diff --git a/test/handler/test_pylint_handler.vader b/test/handler/test_pylint_handler.vader
index d8ce0438..2314e9b2 100644
--- a/test/handler/test_pylint_handler.vader
+++ b/test/handler/test_pylint_handler.vader
@@ -38,6 +38,12 @@ Execute(pylint handler parsing, translating columns to 1-based index):
\ 'text': 'W0101: Unreachable code (unreachable)',
\ 'type': 'W',
\ },
+ \ {
+ \ 'lnum': 7,
+ \ 'col': 33,
+ \ 'text': 'W0702: No exception type(s) specified (bare-except)',
+ \ 'type': 'W',
+ \ },
\ ],
\ ale_linters#python#pylint#Handle(bufnr(''), [
\ 'No config file found, using default configuration',
@@ -47,6 +53,7 @@ Execute(pylint handler parsing, translating columns to 1-based index):
\ 'test.py:2:0: C0111 (missing-docstring) Missing function docstring',
\ 'test.py:3:4: E0103 (not-in-loop) ''break'' not properly in loop',
\ 'test.py:4:4: W0101 (unreachable) Unreachable code',
+ \ 'test.py:7:32: W0702 (bare-except) No exception type(s) specified',
\ '',
\ '------------------------------------------------------------------',
\ 'Your code has been rated at 0.00/10 (previous run: 2.50/10, -2.50)',