summaryrefslogtreecommitdiff
path: root/ale_linters/perl
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2017-04-18 00:35:53 +0100
committerw0rp <devw0rp@gmail.com>2017-04-18 00:35:53 +0100
commitbdad25eefd6526f8130f97edbe25a1179e27aadc (patch)
treec2e563e959121e77f6d96a256583849f6851f0a4 /ale_linters/perl
parente237add9fdec64c80ed57f383e2b73464fb4b43d (diff)
downloadale-bdad25eefd6526f8130f97edbe25a1179e27aadc.zip
Add a function for getting matches, and use it to simplify a lot of code
Diffstat (limited to 'ale_linters/perl')
-rw-r--r--ale_linters/perl/perl.vim9
-rw-r--r--ale_linters/perl/perlcritic.vim18
2 files changed, 4 insertions, 23 deletions
diff --git a/ale_linters/perl/perl.vim b/ale_linters/perl/perl.vim
index 7e48efc3..8720213b 100644
--- a/ale_linters/perl/perl.vim
+++ b/ale_linters/perl/perl.vim
@@ -21,19 +21,12 @@ function! ale_linters#perl#perl#Handle(buffer, lines) abort
let l:pattern = '\(.\+\) at \(.\+\) line \(\d\+\)'
let l:output = []
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) == 0
- continue
- endif
-
+ for l:match in ale#util#GetMatches(a:lines, l:pattern)
let l:line = l:match[3]
let l:text = l:match[1]
let l:type = 'E'
call add(l:output, {
- \ 'bufnr': a:buffer,
\ 'lnum': l:line,
\ 'text': l:text,
\ 'type': l:type,
diff --git a/ale_linters/perl/perlcritic.vim b/ale_linters/perl/perlcritic.vim
index 8f31e513..f0e85030 100644
--- a/ale_linters/perl/perlcritic.vim
+++ b/ale_linters/perl/perlcritic.vim
@@ -5,22 +5,10 @@ function! ale_linters#perl#perlcritic#Handle(buffer, lines) abort
let l:pattern = '\(.\+\) at \(.\+\) line \(\d\+\)'
let l:output = []
- for l:line in a:lines
- let l:match = matchlist(l:line, l:pattern)
-
- if len(l:match) == 0
- continue
- endif
-
- let l:line = l:match[3]
- let l:text = l:match[1]
- let l:type = 'E'
-
+ for l:match in ale#util#GetMatches(a:lines, l:pattern)
call add(l:output, {
- \ 'bufnr': a:buffer,
- \ 'lnum': l:line,
- \ 'text': l:text,
- \ 'type': l:type,
+ \ 'text': l:match[1],
+ \ 'lnum': l:match[3],
\})
endfor