summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ale_linters/perl/perl.vim2
-rw-r--r--test/handler/test_perl_handler.vader16
2 files changed, 17 insertions, 1 deletions
diff --git a/ale_linters/perl/perl.vim b/ale_linters/perl/perl.vim
index 1cb20fa7..4b954f0d 100644
--- a/ale_linters/perl/perl.vim
+++ b/ale_linters/perl/perl.vim
@@ -18,7 +18,7 @@ function! ale_linters#perl#perl#Handle(buffer, lines) abort
return []
endif
- let l:pattern = '\(.\+\) at \(.\+\) line \(\d\+\)'
+ let l:pattern = '\(..\{-}\) at \(..\{-}\) line \(\d\+\)'
let l:output = []
let l:basename = expand('#' . a:buffer . ':t')
diff --git a/test/handler/test_perl_handler.vader b/test/handler/test_perl_handler.vader
index e769550c..060b1ffe 100644
--- a/test/handler/test_perl_handler.vader
+++ b/test/handler/test_perl_handler.vader
@@ -91,3 +91,19 @@ Execute(The Perl linter reports errors even when mixed with warnings):
\ 'syntax error at - line 8, at EOF',
\ 'Execution of t.pl aborted due to compilation errors.',
\ ])
+
+Execute(The Perl linter reports errors even when an additional file location is included):
+ AssertEqual
+ \ [
+ \ {'lnum': '5', 'type': 'E', 'text': '"my" variable $foo masks earlier declaration in same scope'},
+ \ {'lnum': '6', 'type': 'E', 'text': '"my" variable $foo masks earlier declaration in same scope'},
+ \ {'lnum': '11', 'type': 'E', 'text': 'Global symbol "$asdf" requires explicit package name (did you forget to declare "my $asdf"?)'},
+ \ {'lnum': '12', 'type': 'E', 'text': 'Global symbol "$asdf" requires explicit package name (did you forget to declare "my $asdf"?)'},
+ \ ],
+ \ ale_linters#perl#perl#Handle(bufnr(''), [
+ \ '"my" variable $foo masks earlier declaration in same scope at - line 5.',
+ \ '"my" variable $foo masks earlier declaration in same scope at - line 6, at <DATA> line 1.',
+ \ 'Global symbol "$asdf" requires explicit package name (did you forget to declare "my $asdf"?) at - line 11.',
+ \ 'Global symbol "$asdf" requires explicit package name (did you forget to declare "my $asdf"?) at - line 12, <DATA> line 1.',
+ \ 'Execution of t.pl aborted due to compilation errors.',
+ \ ])