summaryrefslogtreecommitdiff
path: root/vim
diff options
context:
space:
mode:
authorNick Shipp <nick@shipp.ninja>2017-02-14 08:41:16 -0500
committerNick Shipp <nick@shipp.ninja>2017-02-14 08:41:16 -0500
commit24a605577c8e09a75f8f717f9df1bdc6c8dd8ec3 (patch)
tree794db72af4e1ddf41cff2d1f6371b27103562d69 /vim
initial commit
Diffstat (limited to 'vim')
m---------vim/bundle/asyncrun.vim0
m---------vim/bundle/perldoc-vim0
m---------vim/bundle/w3m.vim0
-rw-r--r--vim/colors/apprentice.vim252
-rw-r--r--vim/compiler/perlcritic.vim23
-rw-r--r--vim/ftplugin/perl.vim5
-rw-r--r--vim/main.vim100
-rw-r--r--vim/perlcritic.vim22
8 files changed, 402 insertions, 0 deletions
diff --git a/vim/bundle/asyncrun.vim b/vim/bundle/asyncrun.vim
new file mode 160000
+Subproject 1467e5852a3bbb5bc23a62374eb16dfb0fd0c42
diff --git a/vim/bundle/perldoc-vim b/vim/bundle/perldoc-vim
new file mode 160000
+Subproject ef095a51f886f6fef50005c999c12f8de9bc406
diff --git a/vim/bundle/w3m.vim b/vim/bundle/w3m.vim
new file mode 160000
+Subproject 228a852b188f1a62ecea55fa48b0ec892fa6bad
diff --git a/vim/colors/apprentice.vim b/vim/colors/apprentice.vim
new file mode 100644
index 0000000..bc864e9
--- /dev/null
+++ b/vim/colors/apprentice.vim
@@ -0,0 +1,252 @@
+" 'apprentice.vim' -- Vim color scheme.
+" Author: Romain Lafourcade (romainlafourcade@gmail.com)
+" Description: Essentially a streamlining and conversion to xterm colors of
+" 'sorcerer' by Jeet Sukumaran (jeetsukumaran@gmailcom)
+
+" MADE-UP NAME HEX RGB XTERM ANSI
+" ========================================================================
+" almost black #1c1c1c rgb(28, 28, 28) 234 0
+" darker grey #262626 rgb(38, 38, 38) 235 background color
+" dark grey #303030 rgb(48, 48, 48) 236 8
+" grey #444444 rgb(68, 68, 68) 238 8
+" medium grey #585858 rgb(88, 88, 88) 240 8
+" light grey #6c6c6c rgb(108, 108, 108) 242 7
+" lighter grey #bcbcbc rgb(188, 188, 188) 250 foreground color
+" white #ffffff rgb(255, 255, 255) 231 15
+" purple #5f5f87 rgb(95, 95, 135) 60 5
+" light purple #8787af rgb(135, 135, 175) 103 13
+" green #5f875f rgb(95, 135, 95) 65 2
+" light green #87af87 rgb(135, 175, 135) 108 10
+" aqua #5f8787 rgb(95, 135, 135) 66 6
+" light aqua #5fafaf rgb(95, 175, 175) 73 14
+" blue #5f87af rgb(95, 135, 175) 67 4
+" light blue #8fafd7 rgb(143, 175, 215) 110 12
+" red #af5f5f rgb(175, 95, 95) 131 1
+" orange #ff8700 rgb(255, 135, 0) 208 9
+" ocre #87875f rgb(135, 135, 95) 101 3
+" yellow #ffffaf rgb(255, 255, 175) 229 11
+
+hi clear
+
+if exists("syntax_on")
+ syntax reset
+endif
+
+let colors_name = "apprentice"
+
+if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running")
+ hi Normal ctermbg=NONE ctermfg=250 guibg=#262626 guifg=#bcbcbc cterm=NONE gui=NONE
+ hi LineNr ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
+ hi FoldColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
+ hi Folded ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
+ hi MatchParen ctermbg=234 ctermfg=229 guibg=#1c1c1c guifg=#ffffaf cterm=NONE gui=NONE
+ hi signColumn ctermbg=234 ctermfg=242 guibg=#1c1c1c guifg=#6c6c6c cterm=NONE gui=NONE
+
+ set background=dark
+
+ hi Comment ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
+ hi Conceal ctermbg=NONE ctermfg=250 guibg=NONE guifg=#bcbcbc cterm=NONE gui=NONE
+ hi Constant ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=NONE gui=NONE
+ hi Error ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=reverse gui=reverse
+ hi Identifier ctermbg=NONE ctermfg=67 guibg=NONE guifg=#5f87af cterm=NONE gui=NONE
+ hi Ignore ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
+ hi PreProc ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE
+ hi Special ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=NONE gui=NONE
+ hi Statement ctermbg=NONE ctermfg=110 guibg=NONE guifg=#8fafd7 cterm=NONE gui=NONE
+ hi String ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE
+ hi Todo ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=reverse gui=reverse
+ hi Type ctermbg=NONE ctermfg=103 guibg=NONE guifg=#8787af cterm=NONE gui=NONE
+ hi Underlined ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=underline gui=underline
+
+ hi NonText ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
+
+ hi Pmenu ctermbg=238 ctermfg=250 guibg=#444444 guifg=#bcbcbc cterm=NONE gui=NONE
+ hi PmenuSbar ctermbg=240 ctermfg=NONE guibg=#585858 guifg=NONE cterm=NONE gui=NONE
+ hi PmenuSel ctermbg=66 ctermfg=235 guibg=#5f8787 guifg=#262626 cterm=NONE gui=NONE
+ hi PmenuThumb ctermbg=66 ctermfg=66 guibg=#5f8787 guifg=#5f8787 cterm=NONE gui=NONE
+
+ hi ErrorMsg ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE
+ hi ModeMsg ctermbg=108 ctermfg=235 guibg=#87af87 guifg=#262626 cterm=NONE gui=NONE
+ hi MoreMsg ctermbg=NONE ctermfg=66 guibg=NONE guifg=#5f8787 cterm=NONE gui=NONE
+ hi Question ctermbg=NONE ctermfg=108 guibg=NONE guifg=#87af87 cterm=NONE gui=NONE
+ hi WarningMsg ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=NONE gui=NONE
+
+ hi TabLine ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=NONE
+ hi TabLineFill ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE
+ hi TabLineSel ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE
+
+ hi Cursor ctermbg=242 ctermfg=NONE guibg=#6c6c6c guifg=NONE cterm=NONE gui=NONE
+ hi CursorColumn ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE
+ hi CursorLineNr ctermbg=236 ctermfg=73 guibg=#303030 guifg=#5fafaf cterm=NONE gui=NONE
+ hi CursorLine ctermbg=236 ctermfg=NONE guibg=#303030 guifg=NONE cterm=NONE gui=NONE
+
+ hi helpLeadBlank ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
+ hi helpNormal ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=NONE gui=NONE
+
+ hi StatusLine ctermbg=101 ctermfg=235 guibg=#87875f guifg=#262626 cterm=NONE gui=NONE
+ hi StatusLineNC ctermbg=238 ctermfg=101 guibg=#444444 guifg=#87875f cterm=NONE gui=italic
+
+ hi Visual ctermbg=NONE ctermfg=110 guibg=#262626 guifg=#8fafd7 cterm=reverse gui=reverse
+ hi VisualNOS ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE cterm=underline gui=underline
+
+ hi VertSplit ctermbg=238 ctermfg=238 guibg=#444444 guifg=#444444 cterm=NONE gui=NONE
+ hi WildMenu ctermbg=110 ctermfg=235 guibg=#8fafd7 guifg=#262626 cterm=NONE gui=NONE
+
+ hi Function ctermbg=NONE ctermfg=229 guibg=NONE guifg=#ffffaf cterm=NONE gui=NONE
+ hi SpecialKey ctermbg=NONE ctermfg=240 guibg=NONE guifg=#585858 cterm=NONE gui=NONE
+ hi Title ctermbg=NONE ctermfg=231 guibg=NONE guifg=#ffffff cterm=NONE gui=NONE
+
+ hi DiffAdd ctermbg=NONE ctermfg=108 guibg=#262626 guifg=#87af87 cterm=reverse gui=reverse
+ hi DiffChange ctermbg=NONE ctermfg=103 guibg=#262626 guifg=#8787af cterm=reverse gui=reverse
+ hi DiffDelete ctermbg=NONE ctermfg=131 guibg=#262626 guifg=#af5f5f cterm=reverse gui=reverse
+ hi DiffText ctermbg=NONE ctermfg=208 guibg=#262626 guifg=#ff8700 cterm=reverse gui=reverse
+
+ hi IncSearch ctermbg=131 ctermfg=235 guibg=#af5f5f guifg=#262626 cterm=NONE gui=NONE
+ hi Search ctermbg=229 ctermfg=235 guibg=#ffffaf guifg=#262626 cterm=NONE gui=NONE
+
+ hi Directory ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=NONE gui=NONE
+
+ if has("gui_running")
+ hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#af5f5f
+ hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5fafaf
+ hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#5f875f
+ hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=NONE cterm=undercurl gui=undercurl guisp=#ff8700
+ else
+ hi SpellBad ctermbg=NONE ctermfg=131 guibg=NONE guifg=#af5f5f cterm=undercurl gui=undercurl guisp=NONE
+ hi SpellCap ctermbg=NONE ctermfg=73 guibg=NONE guifg=#5fafaf cterm=undercurl gui=undercurl guisp=NONE
+ hi SpellLocal ctermbg=NONE ctermfg=65 guibg=NONE guifg=#5f875f cterm=undercurl gui=undercurl guisp=NONE
+ hi SpellRare ctermbg=NONE ctermfg=208 guibg=NONE guifg=#ff8700 cterm=undercurl gui=undercurl guisp=NONE
+ endif
+
+ hi ColorColumn ctermbg=131 ctermfg=NONE guibg=#af5f5f guifg=NONE cterm=NONE gui=NONE
+elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
+ set t_Co=16
+
+ hi Normal ctermbg=NONE ctermfg=white cterm=NONE
+
+ set background=dark
+
+ hi Comment ctermbg=NONE ctermfg=gray cterm=NONE
+ hi Conceal ctermbg=NONE ctermfg=white cterm=NONE
+ hi Constant ctermbg=NONE ctermfg=red cterm=NONE
+ hi Function ctermbg=NONE ctermfg=yellow cterm=NONE
+ hi Identifier ctermbg=NONE ctermfg=darkblue cterm=NONE
+ hi PreProc ctermbg=NONE ctermfg=darkcyan cterm=NONE
+ hi Special ctermbg=NONE ctermfg=darkgreen cterm=NONE
+ hi Statement ctermbg=NONE ctermfg=blue cterm=NONE
+ hi String ctermbg=NONE ctermfg=green cterm=NONE
+ hi Todo ctermbg=NONE ctermfg=NONE cterm=reverse
+ hi Type ctermbg=NONE ctermfg=magenta cterm=NONE
+
+ hi Error ctermbg=NONE ctermfg=darkred cterm=reverse
+ hi Ignore ctermbg=NONE ctermfg=NONE cterm=NONE
+ hi Underlined ctermbg=NONE ctermfg=NONE cterm=reverse
+
+ hi LineNr ctermbg=black ctermfg=gray cterm=NONE
+ hi NonText ctermbg=NONE ctermfg=darkgray cterm=NONE
+
+ hi Pmenu ctermbg=darkgray ctermfg=white cterm=NONE
+ hi PmenuSbar ctermbg=gray ctermfg=NONE cterm=NONE
+ hi PmenuSel ctermbg=darkcyan ctermfg=black cterm=NONE
+ hi PmenuThumb ctermbg=darkcyan ctermfg=NONE cterm=NONE
+
+ hi ErrorMsg ctermbg=darkred ctermfg=black cterm=NONE
+ hi ModeMsg ctermbg=darkgreen ctermfg=black cterm=NONE
+ hi MoreMsg ctermbg=NONE ctermfg=darkcyan cterm=NONE
+ hi Question ctermbg=NONE ctermfg=green cterm=NONE
+ hi WarningMsg ctermbg=NONE ctermfg=darkred cterm=NONE
+
+ hi TabLine ctermbg=darkgray ctermfg=darkyellow cterm=NONE
+ hi TabLineFill ctermbg=darkgray ctermfg=black cterm=NONE
+ hi TabLineSel ctermbg=darkyellow ctermfg=black cterm=NONE
+
+ hi Cursor ctermbg=NONE ctermfg=NONE cterm=NONE
+ hi CursorColumn ctermbg=darkgray ctermfg=NONE cterm=NONE
+ hi CursorLineNr ctermbg=black ctermfg=cyan cterm=NONE
+ hi CursorLine ctermbg=darkgray ctermfg=NONE cterm=NONE
+
+ hi helpLeadBlank ctermbg=NONE ctermfg=NONE cterm=NONE
+ hi helpNormal ctermbg=NONE ctermfg=NONE cterm=NONE
+
+ hi StatusLine ctermbg=darkyellow ctermfg=black cterm=NONE
+ hi StatusLineNC ctermbg=darkgray ctermfg=darkyellow cterm=NONE
+
+ hi Visual ctermbg=black ctermfg=blue cterm=reverse
+ hi VisualNOS ctermbg=black ctermfg=white cterm=reverse
+
+ hi FoldColumn ctermbg=black ctermfg=darkgray cterm=NONE
+ hi Folded ctermbg=black ctermfg=darkgray cterm=NONE
+
+ hi VertSplit ctermbg=darkgray ctermfg=darkgray cterm=NONE
+ hi WildMenu ctermbg=blue ctermfg=black cterm=NONE
+
+ hi SpecialKey ctermbg=NONE ctermfg=darkgray cterm=NONE
+ hi Title ctermbg=NONE ctermfg=white cterm=NONE
+
+ hi DiffAdd ctermbg=black ctermfg=green cterm=reverse
+ hi DiffChange ctermbg=black ctermfg=magenta cterm=reverse
+ hi DiffDelete ctermbg=black ctermfg=darkred cterm=reverse
+ hi DiffText ctermbg=black ctermfg=red cterm=reverse
+
+ hi IncSearch ctermbg=darkred ctermfg=black cterm=NONE
+ hi Search ctermbg=yellow ctermfg=black cterm=NONE
+
+ hi Directory ctermbg=NONE ctermfg=cyan cterm=NONE
+ hi MatchParen ctermbg=black ctermfg=yellow cterm=NONE
+
+ hi SpellBad ctermbg=NONE ctermfg=darkred cterm=undercurl
+ hi SpellCap ctermbg=NONE ctermfg=darkyellow cterm=undercurl
+ hi SpellLocal ctermbg=NONE ctermfg=darkgreen cterm=undercurl
+ hi SpellRare ctermbg=NONE ctermfg=darkmagenta cterm=undercurl
+
+ hi ColorColumn ctermbg=darkred ctermfg=NONE cterm=NONE
+ hi SignColumn ctermbg=black ctermfg=darkgray cterm=NONE
+endif
+
+hi link Boolean Constant
+hi link Character Constant
+hi link Conditional Statement
+hi link Debug Special
+hi link Define PreProc
+hi link Delimiter Special
+hi link Exception Statement
+hi link Float Number
+hi link HelpCommand Statement
+hi link HelpExample Statement
+hi link Include PreProc
+hi link Keyword Statement
+hi link Label Statement
+hi link Macro PreProc
+hi link Number Constant
+hi link Operator Statement
+hi link PreCondit PreProc
+hi link Repeat Statement
+hi link SpecialChar Special
+hi link SpecialComment Special
+hi link StorageClass Type
+hi link Structure Type
+hi link Tag Special
+hi link Typedef Type
+
+hi link htmlEndTag htmlTagName
+hi link htmlLink Function
+hi link htmlSpecialTagName htmlTagName
+hi link htmlTag htmlTagName
+hi link htmlBold Normal
+hi link htmlItalic Normal
+hi link xmlTag Statement
+hi link xmlTagName Statement
+hi link xmlEndTag Statement
+
+hi link markdownItalic Preproc
+hi link asciidocQuotedEmphasized Preproc
+
+hi link diffBDiffer WarningMsg
+hi link diffCommon WarningMsg
+hi link diffDiffer WarningMsg
+hi link diffIdentical WarningMsg
+hi link diffIsA WarningMsg
+hi link diffNoEOL WarningMsg
+hi link diffOnly WarningMsg
+hi link diffRemoved WarningMsg
+hi link diffAdded String
diff --git a/vim/compiler/perlcritic.vim b/vim/compiler/perlcritic.vim
new file mode 100644
index 0000000..b42a8e7
--- /dev/null
+++ b/vim/compiler/perlcritic.vim
@@ -0,0 +1,23 @@
+" Vim Compiler File
+" Compiler: perlcritic
+" Maintainer: Scott Peshak <speshak@gmail.com>
+" Last Change: 2017 Feb 10
+
+if exists("current_compiler")
+finish
+endif
+let current_compiler = "perlcritic"
+
+if exists(":CompilerSet") != 2
+command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" nshp - bump severity up to 4, add --quiet
+CompilerSet makeprg=perlcritic\ -verbose\ 1\ -4\ --quiet\ %
+CompilerSet errorformat=%f:%l:%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/vim/ftplugin/perl.vim b/vim/ftplugin/perl.vim
new file mode 100644
index 0000000..9d27999
--- /dev/null
+++ b/vim/ftplugin/perl.vim
@@ -0,0 +1,5 @@
+setl formatprg=perltidy\ -q
+" Indent-only perltidy for ==
+setl equalprg=perltidy\ -q\ -io
+" Linting with :make
+compiler perlcritic
diff --git a/vim/main.vim b/vim/main.vim
new file mode 100644
index 0000000..48bcd14
--- /dev/null
+++ b/vim/main.vim
@@ -0,0 +1,100 @@
+""
+" Configuration for my config organization
+"
+set directory=$XDG_CONFIG_HOME/vim,~/,/tmp
+set backupdir=$XDG_CACHE_HOME/vim,~/,/tmp
+set viminfo+=n$XDG_CACHE_HOME/vim/viminfo
+set runtimepath=$XDG_CONFIG_HOME/vim,$XDG_CONFIG_HOME/vim/after,$VIM,$VIMRUNTIME
+let $MYVIMRC="$XDG_CONFIG_HOME/vim/main.vim"
+""
+
+" Auto-load plugins from $VIMRUNTIME/bundle
+"execute pathogen#infect()
+
+""
+" General mappings and stuff
+let mapleader = "-"
+""
+
+" Apply filetype-based indent rules and plugins
+filetype plugin indent on
+
+" Arch comes with some sensible defaults, might as well use them
+runtime! archlinux.vim
+" And so does vim itself
+runtime! defaults.vim
+" I like reading manpages in vim.
+runtime! ftplugin/man.vim
+
+""
+" Load the matchit plugin (shipped with vim) for jumping to matching #ifs and
+" #endifs and so on.
+" Requires vim 8 for :packadd
+packadd! matchit
+
+" romainl's apprentice colorscheme, with a few changes for higher contrast
+colorscheme apprentice
+
+""
+" Settings!
+"
+set expandtab " <tab> expans to spaces
+set shiftwidth=4 " 4 spaces for autoindent
+set softtabstop=4 " <tab> inserts 4 spaces at a time
+set autowrite " write before swapping buffers
+set number " regular line numbers
+set ttyfast " xterms and linux consoles are fast
+set ttymouse=sgr " for mouse events in columns >233
+set clipboard=unnamed " default to the * register to share with X11
+set undolevels=100000 " don't discard my undo tree
+set undofile " persistent undo tree
+"
+
+""
+" PASTEBIN with pbpst
+"
+" Mappings:
+" <leader>p{motion} Paste {motion} lines
+" <leader>pp Paste entire buffer (same as gg<leader>pG)
+" <leader>p (Visual) paste selection
+"
+" The pastebin URL is stored to the * register.
+" With +X11, this is shared with the X primary selection (middle click or
+" shift-insert to paste.)
+function! Paste(type, ...)
+ " Line-wise ranges
+ if a:type == 'line' || a:type == 'V' || a:type == '%'
+ if a:type == 'line'
+ let start = "'[" " motion lines
+ let end = "']"
+ elseif a:type == 'V'
+ let start = "'<" " visual lines
+ let end = "'>"
+ else
+ let start = 1 " entire file
+ let end = "$"
+ endif
+ let @* = systemlist('pbpst -S 2>/dev/null', getline(start, end))[0] . '/' . &filetype
+ " Character-wise ranges
+ elseif a:type == 'char' || a:type == 'v'
+ if a:type == 'char'
+ let start = "'[" " motion
+ let end = "']"
+ else
+ let start = "`<" " visual
+ let end = "`>"
+ endif
+ let input = getline(start, end)
+ let input[0] = input[0][col(start):]
+ let input[-1] = input[-1][:col(end)-1]
+ let @* = systemlist('pbpst -S 2>/dev/null', input)[0] . '/' . &filetype
+ " Block ranges (not handled)
+ else
+ echoerr "Paste: unsupported selection type: " . a:type
+ endif
+endfunction
+
+nnoremap <leader>p :silent set opfunc=Paste<cr>g@
+nnoremap <leader>pp :call Paste('%')<CR>
+vnoremap <leader>p <esc>:call Paste(visualmode())<CR>
+""
diff --git a/vim/perlcritic.vim b/vim/perlcritic.vim
new file mode 100644
index 0000000..16a75b1
--- /dev/null
+++ b/vim/perlcritic.vim
@@ -0,0 +1,22 @@
+" Vim Compiler File
+" Compiler: perlcritic
+" Maintainer: Scott Peshak <speshak@gmail.com>
+" Last Change: 2006 Dec 19
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "perlcritic"
+
+if exists(":CompilerSet") != 2
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=perlcritic\ -verbose\ 1\ -2\ %
+CompilerSet errorformat=%f:%l:%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save