Fix #694 - Ignore BEGIN failed errors for Perl only for certain errors

This commit is contained in:
w0rp
2017-06-25 21:49:57 +01:00
parent 3828ea5b26
commit 1917e9157c
2 changed files with 24 additions and 1 deletions

View File

@@ -17,6 +17,11 @@ function! ale_linters#perl#perl#GetCommand(buffer) abort
\ . ' %t'
endfunction
let s:begin_failed_skip_pattern = '\v' . join([
\ '^Compilation failed in require',
\ '^Can''t locate',
\], '|')
function! ale_linters#perl#perl#Handle(buffer, lines) abort
let l:pattern = '\(.\+\) at \(.\+\) line \(\d\+\)'
let l:output = []
@@ -28,7 +33,11 @@ function! ale_linters#perl#perl#Handle(buffer, lines) abort
let l:type = 'E'
if ale#path#IsBufferPath(a:buffer, l:match[2])
\&& l:text !=# 'BEGIN failed--compilation aborted'
\ && (
\ l:text !=# 'BEGIN failed--compilation aborted'
\ || empty(l:output)
\ || match(l:output[-1].text, s:begin_failed_skip_pattern) < 0
\ )
call add(l:output, {
\ 'lnum': l:line,
\ 'text': l:text,