aboutsummaryrefslogtreecommitdiff
path: root/.vim/autoload/neomake/makers/ft/perl.vim
blob: da07694a6914b710ff1eccb4eac19b624c6b5c1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
" vim: ts=4 sw=4 et
function! neomake#makers#ft#perl#EnabledMakers() abort
    return ['perl', 'perlcritic']
endfunction

function! neomake#makers#ft#perl#perlcritic() abort
    return {
         \ 'args' : ['--quiet', '--nocolor', '--verbose',
         \           '\\%f:\\%l:\\%c:(\\%s) \\%m (\\%e)\\n'],
         \ 'errorformat': '%f:%l:%c:%m,'
     \}
endfunction

function! neomake#makers#ft#perl#perl() abort
    return {
         \ 'args' : ['-c', '-X', '-Mwarnings'],
         \ 'errorformat': '%-G%.%#had too many errors.,'
         \  . '%-G%.%#had compilation errors.,'
         \  . '%-G%.%#syntax OK,'
         \  . '%m at %f line %l.,'
         \  . '%+E%.%# at %f line %l\,%.%#,'
         \  . '%+C%.%#',
         \ 'postprocess': function('neomake#makers#ft#perl#PerlEntryProcess'),
     \}
endfunction

function! neomake#makers#ft#perl#PerlEntryProcess(entry) abort
    let extramsg = substitute(a:entry.pattern, '\^\\V', '', '')
    let extramsg = substitute(extramsg, '\\\$', '', '')

    if !empty(extramsg)
        let a:entry.text .= ' ' . extramsg
    endif
endfunction