summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-09-06 09:23:36 +0100
committerw0rp <devw0rp@gmail.com>2018-09-06 09:23:36 +0100
commitf8beaa9e3e5e6a723ce33deba8b71acb2c9dd1a1 (patch)
treecf8f585cd82f98cd0c071349b300847ae79e0a1a
parentd476578a402763f2c6e4e0ada2eb345d0ac938d7 (diff)
downloadale-f8beaa9e3e5e6a723ce33deba8b71acb2c9dd1a1.zip
Fix #1866 - Handle empty output from Perl
-rw-r--r--ale_linters/perl/perl.vim4
-rw-r--r--test/handler/test_perl_handler.vader5
2 files changed, 9 insertions, 0 deletions
diff --git a/ale_linters/perl/perl.vim b/ale_linters/perl/perl.vim
index 03de77a5..1cb20fa7 100644
--- a/ale_linters/perl/perl.vim
+++ b/ale_linters/perl/perl.vim
@@ -14,6 +14,10 @@ let s:begin_failed_skip_pattern = '\v' . join([
\], '|')
function! ale_linters#perl#perl#Handle(buffer, lines) abort
+ if empty(a:lines)
+ return []
+ endif
+
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 c5791d76..e769550c 100644
--- a/test/handler/test_perl_handler.vader
+++ b/test/handler/test_perl_handler.vader
@@ -7,6 +7,11 @@ After:
call ale#test#RestoreDirectory()
call ale#linter#Reset()
+Execute(The Perl linter should handle empty output):
+ call ale#test#SetFilename('bar.pl')
+
+ AssertEqual [], ale_linters#perl#perl#Handle(bufnr(''), [])
+
Execute(The Perl linter should ignore errors from other files):
call ale#test#SetFilename('bar.pl')