aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.vim/autoload/neomake/makers/ft/perl.vim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.vim/autoload/neomake/makers/ft/perl.vim')
-rw-r--r--dotfiles/.vim/autoload/neomake/makers/ft/perl.vim34
1 files changed, 34 insertions, 0 deletions
diff --git a/dotfiles/.vim/autoload/neomake/makers/ft/perl.vim b/dotfiles/.vim/autoload/neomake/makers/ft/perl.vim
new file mode 100644
index 0000000..da07694
--- /dev/null
+++ b/dotfiles/.vim/autoload/neomake/makers/ft/perl.vim
@@ -0,0 +1,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