Fix #596 - Report exceptions thrown by flake8
This commit is contained in:
parent
5eb80f03a2
commit
42efd51723
@ -99,7 +99,7 @@ call ale#linter#Define('python', {
|
|||||||
\ 'executable_callback': 'ale_linters#python#flake8#GetExecutable',
|
\ 'executable_callback': 'ale_linters#python#flake8#GetExecutable',
|
||||||
\ 'command_chain': [
|
\ 'command_chain': [
|
||||||
\ {'callback': 'ale_linters#python#flake8#VersionCheck'},
|
\ {'callback': 'ale_linters#python#flake8#VersionCheck'},
|
||||||
\ {'callback': 'ale_linters#python#flake8#GetCommand'},
|
\ {'callback': 'ale_linters#python#flake8#GetCommand', 'output_stream': 'both'},
|
||||||
\ ],
|
\ ],
|
||||||
\ 'callback': 'ale#handlers#python#HandlePEP8Format',
|
\ 'callback': 'ale#handlers#python#HandlePEP8Format',
|
||||||
\})
|
\})
|
||||||
|
@ -2,6 +2,16 @@
|
|||||||
" Description: Error handling for flake8, etc.
|
" Description: Error handling for flake8, etc.
|
||||||
|
|
||||||
function! ale#handlers#python#HandlePEP8Format(buffer, lines) abort
|
function! ale#handlers#python#HandlePEP8Format(buffer, lines) abort
|
||||||
|
for l:line in a:lines[:10]
|
||||||
|
if match(l:line, '^Traceback') >= 0
|
||||||
|
return [{
|
||||||
|
\ 'lnum': 1,
|
||||||
|
\ 'text': 'An exception was thrown. See :ALEDetail',
|
||||||
|
\ 'detail': join(a:lines, "\n"),
|
||||||
|
\}]
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
" Matches patterns line the following:
|
" Matches patterns line the following:
|
||||||
"
|
"
|
||||||
" Matches patterns line the following:
|
" Matches patterns line the following:
|
||||||
|
@ -75,6 +75,43 @@ Execute (HandlePEP8Format should handle names with spaces):
|
|||||||
\ 'C:\something\with spaces.py:6:6: E111 indentation is not a multiple of four',
|
\ 'C:\something\with spaces.py:6:6: E111 indentation is not a multiple of four',
|
||||||
\ ])
|
\ ])
|
||||||
|
|
||||||
|
Execute (HandlePEP8Format should stack traces):
|
||||||
|
AssertEqual
|
||||||
|
\ [
|
||||||
|
\ {
|
||||||
|
\ 'lnum': 1,
|
||||||
|
\ 'text': 'An exception was thrown. See :ALEDetail',
|
||||||
|
\ 'detail': join([
|
||||||
|
\ 'Traceback (most recent call last):',
|
||||||
|
\ ' File "/usr/local/bin/flake8", line 7, in <module>',
|
||||||
|
\ ' from flake8.main.cli import main',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in <module>',
|
||||||
|
\ ' from flake8.main import application',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in <module>',
|
||||||
|
\ ' from flake8.plugins import manager as plugin_manager',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in <module>',
|
||||||
|
\ ' import pkg_resources',
|
||||||
|
\ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in <module>',
|
||||||
|
\ ' import email.parser',
|
||||||
|
\ 'ImportError: No module named parser',
|
||||||
|
\ ], "\n"),
|
||||||
|
\ },
|
||||||
|
\ ],
|
||||||
|
\ ale#handlers#python#HandlePEP8Format(42, [
|
||||||
|
\ 'Traceback (most recent call last):',
|
||||||
|
\ ' File "/usr/local/bin/flake8", line 7, in <module>',
|
||||||
|
\ ' from flake8.main.cli import main',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/cli.py", line 2, in <module>',
|
||||||
|
\ ' from flake8.main import application',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/main/application.py", line 17, in <module>',
|
||||||
|
\ ' from flake8.plugins import manager as plugin_manager',
|
||||||
|
\ ' File "/usr/local/lib/python2.7/dist-packages/flake8/plugins/manager.py", line 5, in <module>',
|
||||||
|
\ ' import pkg_resources',
|
||||||
|
\ ' File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 35, in <module>',
|
||||||
|
\ ' import email.parser',
|
||||||
|
\ 'ImportError: No module named parser',
|
||||||
|
\ ])
|
||||||
|
|
||||||
Execute (HandleGCCFormat should handle the correct lines of output):
|
Execute (HandleGCCFormat should handle the correct lines of output):
|
||||||
AssertEqual
|
AssertEqual
|
||||||
\ [
|
\ [
|
||||||
|
Loading…
Reference in New Issue
Block a user