/usr/share/vim/vim80/indent
NameSizeModeActions
aap.vim2650644editdlrm
ada.vim112350644editdlrm
ant.vim2900644editdlrm
automake.vim2430644editdlrm
awk.vim77750644editdlrm
bib.vim3460644editdlrm
bst.vim19370644editdlrm
bzl.vim24840644editdlrm
c.vim3250644editdlrm
cdl.vim42530644editdlrm
ch.vim4700644editdlrm
chaiscript.vim11380644editdlrm
changelog.vim2640644editdlrm
clojure.vim104400644editdlrm
cmake.vim26830644editdlrm
cobol.vim83050644editdlrm
config.vim21820644editdlrm
context.vim7520644editdlrm
cpp.vim3290644editdlrm
cs.vim3270644editdlrm
css.vim17900644editdlrm
cucumber.vim26780644editdlrm
cuda.vim3050644editdlrm
d.vim5100644editdlrm
dictconf.vim3370644editdlrm
dictdconf.vim3380644editdlrm
docbk.vim3360644editdlrm
dtd.vim118690644editdlrm
dtrace.vim4510644editdlrm
dylan.vim27070644editdlrm
eiffel.vim33170644editdlrm
erlang.vim463790644editdlrm
eruby.vim28020644editdlrm
eterm.vim6680644editdlrm
falcon.vim140540644editdlrm
fortran.vim74450644editdlrm
framescript.vim8160644editdlrm
gitconfig.vim8410644editdlrm
gitolite.vim12770644editdlrm
go.vim16730644editdlrm
haml.vim22110644editdlrm
hamster.vim14250644editdlrm
hog.vim18920644editdlrm
html.vim332480644editdlrm
htmldjango.vim2730644editdlrm
idlang.vim16200644editdlrm
ishd.vim18770644editdlrm
j.vim18130644editdlrm
java.vim42870644editdlrm
javascript.vim153620644editdlrm
json.vim44210644editdlrm
jsp.vim4620644editdlrm
ld.vim17920644editdlrm
less.vim2430644editdlrm
lifelines.vim6370644editdlrm
liquid.vim18990644editdlrm
lisp.vim3530644editdlrm
logtalk.vim17440644editdlrm
lua.vim19270644editdlrm
mail.vim3080644editdlrm
make.vim34880644editdlrm
matlab.vim19640644editdlrm
mf.vim1560644editdlrm
mma.vim22360644editdlrm
mp.vim113210644editdlrm
nsis.vim32570644editdlrm
objc.vim16450644editdlrm
ocaml.vim91530644editdlrm
occam.vim46370644editdlrm
pascal.vim56560644editdlrm
perl.vim59020644editdlrm
perl6.vim35400644editdlrm
php.vim224310644editdlrm
postscr.vim16490644editdlrm
pov.vim26620644editdlrm
prolog.vim14900644editdlrm
pyrex.vim3260644editdlrm
python.vim57440644editdlrm
r.vim139050644editdlrm
readline.vim7110644editdlrm
README.txt16390644editdlrm
rhelp.vim28400644editdlrm
rmd.vim11970644editdlrm
rnoweb.vim10860644editdlrm
rpl.vim18620644editdlrm
rrst.vim11950644editdlrm
rst.vim13990644editdlrm
ruby.vim229700644editdlrm
rust.vim64980644editdlrm
sas.vim51270644editdlrm
sass.vim9500644editdlrm
scala.vim194300644editdlrm
scheme.vim3720644editdlrm
scss.vim1910644editdlrm
sdl.vim27940644editdlrm
sh.vim57160644editdlrm
sml.vim64780644editdlrm
sql.vim12040644editdlrm
sqlanywhere.vim131660644editdlrm
systemd.vim2050644editdlrm
systemverilog.vim85770644editdlrm
tcl.vim16290644editdlrm
tcsh.vim12700644editdlrm
teraterm.vim13650644editdlrm
tex.vim134980644editdlrm
tf.vim15490644editdlrm
tilde.vim10120644editdlrm
treetop.vim7070644editdlrm
vb.vim20890644editdlrm
verilog.vim81650644editdlrm
vhdl.vim146660644editdlrm
vim.vim29890644editdlrm
vroom.vim3790644editdlrm
xf86conf.vim7090644editdlrm
xhtml.vim2690644editdlrm
xinetd.vim12310644editdlrm
xml.vim28490644editdlrm
xsd.vim2530644editdlrm
xslt.vim2970644editdlrm
yacc.vim7810644editdlrm
yaml.vim54720644editdlrm
zimbu.vim39360644editdlrm
zsh.vim4110644editdlrm
Edit: /usr/share/vim/vim80/indent/perl.vim (5902B)
" Vim indent file " Language: Perl 5 " Maintainer: vim-perl " Homepage: http://github.com/vim-perl/vim-perl " Bugs/requests: http://github.com/vim-perl/vim-perl/issues " Last Change: 2017-01-04 " Suggestions and improvements by : " Aaron J. Sherman (use syntax for hints) " Artem Chuprina (play nice with folding) " TODO things that are not or not properly indented (yet) : " - Continued statements " print "foo", " "bar"; " print "foo" " if bar(); " - Multiline regular expressions (m//x) " (The following probably needs modifying the perl syntax file) " - qw() lists " - Heredocs with terminators that don't match \I\i* " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 " Is syntax highlighting active ? let b:indent_use_syntax = has("syntax") setlocal indentexpr=GetPerlIndent() setlocal indentkeys+=0=,0),0],0=or,0=and if !b:indent_use_syntax setlocal indentkeys+=0=EO endif let s:cpo_save = &cpo set cpo-=C function! GetPerlIndent() " Get the line to be indented let cline = getline(v:lnum) " Indent POD markers to column 0 if cline =~ '^\s*=\L\@!' return 0 endif " Get current syntax item at the line's first char let csynid = '' if b:indent_use_syntax let csynid = synIDattr(synID(v:lnum,1,0),"name") endif " Don't reindent POD and heredocs if csynid == "perlPOD" || csynid == "perlHereDoc" || csynid =~ "^pod" return indent(v:lnum) endif " Indent end-of-heredocs markers to column 0 if b:indent_use_syntax " Assumes that an end-of-heredoc marker matches \I\i* to avoid " confusion with other types of strings if csynid == "perlStringStartEnd" && cline =~ '^\I\i*$' return 0 endif else " Without syntax hints, assume that end-of-heredocs markers begin with EO if cline =~ '^\s*EO' return 0 endif endif " Now get the indent of the previous perl line. " Find a non-blank line above the current line. let lnum = prevnonblank(v:lnum - 1) " Hit the start of the file, use zero indent. if lnum == 0 return 0 endif let line = getline(lnum) let ind = indent(lnum) " Skip heredocs, POD, and comments on 1st column if b:indent_use_syntax let skippin = 2 while skippin let synid = synIDattr(synID(lnum,1,0),"name") if (synid == "perlStringStartEnd" && line =~ '^\I\i*$') \ || (skippin != 2 && synid == "perlPOD") \ || (skippin != 2 && synid == "perlHereDoc") \ || synid == "perlComment" \ || synid =~ "^pod" let lnum = prevnonblank(lnum - 1) if lnum == 0 return 0 endif let line = getline(lnum) let ind = indent(lnum) let skippin = 1 else let skippin = 0 endif endwhile else if line =~ "^EO" let lnum = search("<<[\"']\\=EO", "bW") let line = getline(lnum) let ind = indent(lnum) endif endif " Indent blocks enclosed by {}, (), or [] if b:indent_use_syntax " Find a real opening brace " NOTE: Unlike Perl character classes, we do NOT need to escape the " closing brackets with a backslash. Doing so just puts a backslash " in the character class and causes sorrow. Instead, put the closing " bracket as the first character in the class. let braceclass = '[][(){}]' let bracepos = match(line, braceclass, matchend(line, '^\s*[])}]')) while bracepos != -1 let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name") " If the brace is highlighted in one of those groups, indent it. " 'perlHereDoc' is here only to handle the case '&foo(<' if line !~ '^\s*\(or\|and\)\>' let ind = ind + shiftwidth() endif elseif line =~ '^\s*\(or\|and\)\>' let ind = ind - shiftwidth() endif return ind endfunction let &cpo = s:cpo_save unlet s:cpo_save " vim:ts=8:sts=4:sw=4:expandtab:ft=vim