/
usr
/
share
/
vim
/
vim74
/
indent
/
/usr/share/vim/vim74/indent
mkdir
upload
Name
Size
Mode
Actions
aap.vim
265
0644
edit
dl
rm
ada.vim
11147
0644
edit
dl
rm
ant.vim
290
0644
edit
dl
rm
automake.vim
231
0644
edit
dl
rm
awk.vim
7748
0644
edit
dl
rm
bib.vim
346
0644
edit
dl
rm
bst.vim
1919
0644
edit
dl
rm
c.vim
325
0644
edit
dl
rm
cdl.vim
4172
0644
edit
dl
rm
ch.vim
470
0644
edit
dl
rm
chaiscript.vim
1135
0644
edit
dl
rm
changelog.vim
264
0644
edit
dl
rm
clojure.vim
12132
0644
edit
dl
rm
cmake.vim
2754
0644
edit
dl
rm
cobol.vim
8197
0644
edit
dl
rm
config.vim
2166
0644
edit
dl
rm
cpp.vim
329
0644
edit
dl
rm
cs.vim
327
0644
edit
dl
rm
css.vim
1719
0644
edit
dl
rm
cucumber.vim
2624
0644
edit
dl
rm
cuda.vim
305
0644
edit
dl
rm
d.vim
510
0644
edit
dl
rm
dictconf.vim
325
0644
edit
dl
rm
dictdconf.vim
326
0644
edit
dl
rm
docbk.vim
324
0644
edit
dl
rm
dtd.vim
11668
0644
edit
dl
rm
dtrace.vim
451
0644
edit
dl
rm
dylan.vim
2662
0644
edit
dl
rm
eiffel.vim
3208
0644
edit
dl
rm
erlang.vim
46235
0644
edit
dl
rm
eruby.vim
2161
0644
edit
dl
rm
eterm.vim
638
0644
edit
dl
rm
falcon.vim
13982
0644
edit
dl
rm
fortran.vim
6559
0644
edit
dl
rm
framescript.vim
786
0644
edit
dl
rm
gitconfig.vim
817
0644
edit
dl
rm
gitolite.vim
996
0644
edit
dl
rm
haml.vim
2189
0644
edit
dl
rm
hamster.vim
1407
0644
edit
dl
rm
html.vim
14812
0644
edit
dl
rm
htmldjango.vim
273
0644
edit
dl
rm
idlang.vim
1566
0644
edit
dl
rm
ishd.vim
1841
0644
edit
dl
rm
java.vim
4115
0644
edit
dl
rm
javascript.vim
336
0644
edit
dl
rm
jsp.vim
462
0644
edit
dl
rm
ld.vim
1753
0644
edit
dl
rm
lifelines.vim
637
0644
edit
dl
rm
liquid.vim
1879
0644
edit
dl
rm
lisp.vim
353
0644
edit
dl
rm
logtalk.vim
1690
0644
edit
dl
rm
lua.vim
1914
0644
edit
dl
rm
mail.vim
308
0644
edit
dl
rm
make.vim
3431
0644
edit
dl
rm
matlab.vim
1928
0644
edit
dl
rm
mma.vim
2227
0644
edit
dl
rm
mp.vim
6527
0644
edit
dl
rm
objc.vim
1645
0644
edit
dl
rm
ocaml.vim
9110
0644
edit
dl
rm
occam.vim
4634
0644
edit
dl
rm
pascal.vim
5653
0644
edit
dl
rm
perl.vim
5811
0644
edit
dl
rm
perl6.vim
3503
0644
edit
dl
rm
php.vim
19423
0644
edit
dl
rm
postscr.vim
1622
0644
edit
dl
rm
pov.vim
2643
0644
edit
dl
rm
prolog.vim
1454
0644
edit
dl
rm
pyrex.vim
326
0644
edit
dl
rm
python.vim
5744
0644
edit
dl
rm
r.vim
14786
0644
edit
dl
rm
readline.vim
681
0644
edit
dl
rm
README.txt
1639
0644
edit
dl
rm
rpl.vim
1835
0644
edit
dl
rm
rst.vim
1387
0644
edit
dl
rm
ruby.vim
17546
0644
edit
dl
rm
sass.vim
1018
0644
edit
dl
rm
scheme.vim
241
0644
edit
dl
rm
scss.vim
191
0644
edit
dl
rm
sdl.vim
2767
0644
edit
dl
rm
sh.vim
4040
0644
edit
dl
rm
sml.vim
6418
0644
edit
dl
rm
sql.vim
1204
0644
edit
dl
rm
sqlanywhere.vim
13075
0644
edit
dl
rm
tcl.vim
1602
0644
edit
dl
rm
tcsh.vim
1243
0644
edit
dl
rm
tex.vim
9695
0644
edit
dl
rm
tf.vim
1499
0644
edit
dl
rm
tilde.vim
994
0644
edit
dl
rm
treetop.vim
677
0644
edit
dl
rm
vb.vim
2044
0644
edit
dl
rm
verilog.vim
7620
0644
edit
dl
rm
vhdl.vim
13801
0644
edit
dl
rm
vim.vim
2830
0644
edit
dl
rm
xf86conf.vim
679
0644
edit
dl
rm
xhtml.vim
269
0644
edit
dl
rm
xinetd.vim
1201
0644
edit
dl
rm
xml.vim
2840
0644
edit
dl
rm
xsd.vim
253
0644
edit
dl
rm
xslt.vim
297
0644
edit
dl
rm
yacc.vim
769
0644
edit
dl
rm
yaml.vim
4117
0644
edit
dl
rm
zimbu.vim
3891
0644
edit
dl
rm
zsh.vim
231
0644
edit
dl
rm
Edit:
/usr/share/vim/vim74/indent/pascal.vim
(5653B)
" Vim indent file " Language: Pascal " Maintainer: Neil Carter <n.carter@swansea.ac.uk> " Created: 2004 Jul 13 " Last Change: 2011 Apr 01 " " This is version 2.0, a complete rewrite. " " For further documentation, see http://psy.swansea.ac.uk/staff/carter/vim/ if exists("b:did_indent") finish endif let b:did_indent = 1 setlocal indentexpr=GetPascalIndent(v:lnum) setlocal indentkeys& setlocal indentkeys+==end;,==const,==type,==var,==begin,==repeat,==until,==for setlocal indentkeys+==program,==function,==procedure,==object,==private setlocal indentkeys+==record,==if,==else,==case if exists("*GetPascalIndent") finish endif function! s:GetPrevNonCommentLineNum( line_num ) " Skip lines starting with a comment let SKIP_LINES = '^\s*\(\((\*\)\|\(\*\ \)\|\(\*)\)\|{\|}\)' let nline = a:line_num while nline > 0 let nline = prevnonblank(nline-1) if getline(nline) !~? SKIP_LINES break endif endwhile return nline endfunction function! s:PurifyCode( line_num ) " Strip any trailing comments and whitespace let pureline = 'TODO' return pureline endfunction function! GetPascalIndent( line_num ) " Line 0 always goes at column 0 if a:line_num == 0 return 0 endif let this_codeline = getline( a:line_num ) " SAME INDENT " Middle of a three-part comment if this_codeline =~ '^\s*\*' return indent( a:line_num - 1) endif " COLUMN 1 ALWAYS " Last line of the program if this_codeline =~ '^\s*end\.' return 0 endif " Compiler directives, allowing "(*" and "{" "if this_codeline =~ '^\s*\({\|(\*\)$\(IFDEF\|IFNDEF\|ELSE\|ENDIF\)' if this_codeline =~ '^\s*\({\|(\*\)\$' return 0 endif " section headers if this_codeline =~ '^\s*\(program\|procedure\|function\|type\)\>' return 0 endif " Subroutine separators, lines ending with "const" or "var" if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\(const\|var\)\)$' return 0 endif " OTHERWISE, WE NEED TO LOOK FURTHER BACK... let prev_codeline_num = s:GetPrevNonCommentLineNum( a:line_num ) let prev_codeline = getline( prev_codeline_num ) let indnt = indent( prev_codeline_num ) " INCREASE INDENT " If the PREVIOUS LINE ended in these items, always indent if prev_codeline =~ '\<\(type\|const\|var\)$' return indnt + &shiftwidth endif if prev_codeline =~ '\<repeat$' if this_codeline !~ '^\s*until\>' return indnt + &shiftwidth else return indnt endif endif if prev_codeline =~ '\<\(begin\|record\)$' if this_codeline !~ '^\s*end\>' return indnt + &shiftwidth else return indnt endif endif " If the PREVIOUS LINE ended with these items, indent if not " followed by "begin" if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$' if this_codeline !~ '^\s*begin\>' return indnt + &shiftwidth else " If it does start with "begin" then keep the same indent "return indnt + &shiftwidth return indnt endif endif " Inside a parameter list (i.e. a "(" without a ")"). ???? Considers " only the line before the current one. TODO: Get it working for " parameter lists longer than two lines. if prev_codeline =~ '([^)]\+$' return indnt + &shiftwidth endif " DECREASE INDENT " Lines starting with "else", but not following line ending with " "end". if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$' return indnt - &shiftwidth endif " Lines after a single-statement branch/loop. " Two lines before ended in "then", "else", or "do" " Previous line didn't end in "begin" let prev2_codeline_num = s:GetPrevNonCommentLineNum( prev_codeline_num ) let prev2_codeline = getline( prev2_codeline_num ) if prev2_codeline =~ '\<\(then\|else\|do\)$' && prev_codeline !~ '\<begin$' " If the next code line after a single statement branch/loop " starts with "end", "except" or "finally", we need an " additional unindentation. if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$' " Note that we don't return from here. return indnt - &shiftwidth - &shiftwidth endif return indnt - &shiftwidth endif " Lines starting with "until" or "end". This rule must be overridden " by the one for "end" after a single-statement branch/loop. In " other words that rule should come before this one. if this_codeline =~ '^\s*\(end\|until\)\>' return indnt - &shiftwidth endif " MISCELLANEOUS THINGS TO CATCH " Most "begin"s will have been handled by now. Any remaining " "begin"s on their own line should go in column 1. if this_codeline =~ '^\s*begin$' return 0 endif " ____________________________________________________________________ " Object/Borland Pascal/Delphi Extensions " " Note that extended-pascal is handled here, unless it is simpler to " handle them in the standard-pascal section above. " COLUMN 1 ALWAYS " section headers at start of line. if this_codeline =~ '^\s*\(interface\|implementation\|uses\|unit\)\>' return 0 endif " INDENT ONCE " If the PREVIOUS LINE ended in these items, always indent. if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$' return indnt + &shiftwidth endif " ???? Indent "procedure" and "functions" if they appear within an " class/object definition. But that means overriding standard-pascal " rule where these words always go in column 1. " UNINDENT ONCE if this_codeline =~ '^\s*\(except\|finally\)$' return indnt - &shiftwidth endif if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$' return indnt - &shiftwidth endif " ____________________________________________________________________ " If nothing changed, return same indent. return indnt endfunction
Save
cmd:
run