/
usr
/
share
/
vim
/
vim82
/
indent
/
/usr/share/vim/vim82/indent
mkdir
upload
Name
Size
Mode
Actions
aap.vim
265
0644
edit
dl
rm
ada.vim
11234
0644
edit
dl
rm
ant.vim
290
0644
edit
dl
rm
automake.vim
243
0644
edit
dl
rm
awk.vim
7774
0644
edit
dl
rm
bash.vim
350
0644
edit
dl
rm
bib.vim
346
0644
edit
dl
rm
bst.vim
1937
0644
edit
dl
rm
bzl.vim
2925
0644
edit
dl
rm
c.vim
325
0644
edit
dl
rm
cdl.vim
4342
0644
edit
dl
rm
ch.vim
470
0644
edit
dl
rm
chaiscript.vim
1138
0644
edit
dl
rm
changelog.vim
264
0644
edit
dl
rm
clojure.vim
11557
0644
edit
dl
rm
cmake.vim
2683
0644
edit
dl
rm
cobol.vim
8832
0644
edit
dl
rm
config.vim
2222
0644
edit
dl
rm
context.vim
752
0644
edit
dl
rm
cpp.vim
329
0644
edit
dl
rm
cs.vim
1756
0644
edit
dl
rm
css.vim
1813
0644
edit
dl
rm
cucumber.vim
2678
0644
edit
dl
rm
cuda.vim
305
0644
edit
dl
rm
d.vim
572
0644
edit
dl
rm
dictconf.vim
337
0644
edit
dl
rm
dictdconf.vim
338
0644
edit
dl
rm
docbk.vim
336
0644
edit
dl
rm
dosbatch.vim
1382
0644
edit
dl
rm
dtd.vim
11954
0644
edit
dl
rm
dtrace.vim
451
0644
edit
dl
rm
dune.vim
332
0644
edit
dl
rm
dylan.vim
2770
0644
edit
dl
rm
eiffel.vim
3317
0644
edit
dl
rm
elm.vim
3277
0644
edit
dl
rm
erlang.vim
50066
0644
edit
dl
rm
eruby.vim
3016
0644
edit
dl
rm
eterm.vim
743
0644
edit
dl
rm
falcon.vim
14077
0644
edit
dl
rm
fortran.vim
7664
0644
edit
dl
rm
framescript.vim
891
0644
edit
dl
rm
gitconfig.vim
841
0644
edit
dl
rm
gitolite.vim
1277
0644
edit
dl
rm
go.vim
1673
0644
edit
dl
rm
haml.vim
2203
0644
edit
dl
rm
hamster.vim
1692
0644
edit
dl
rm
hog.vim
1892
0644
edit
dl
rm
html.vim
33651
0644
edit
dl
rm
htmldjango.vim
273
0644
edit
dl
rm
idlang.vim
1683
0644
edit
dl
rm
ishd.vim
1877
0644
edit
dl
rm
j.vim
1812
0644
edit
dl
rm
java.vim
4287
0644
edit
dl
rm
javascript.vim
15362
0644
edit
dl
rm
javascriptreact.vim
109
0644
edit
dl
rm
json.vim
4528
0644
edit
dl
rm
jsonc.vim
4727
0644
edit
dl
rm
jsp.vim
462
0644
edit
dl
rm
julia.vim
15449
0644
edit
dl
rm
ld.vim
1867
0644
edit
dl
rm
less.vim
243
0644
edit
dl
rm
lifelines.vim
638
0644
edit
dl
rm
liquid.vim
1899
0644
edit
dl
rm
lisp.vim
353
0644
edit
dl
rm
logtalk.vim
1859
0644
edit
dl
rm
lua.vim
1927
0644
edit
dl
rm
mail.vim
355
0644
edit
dl
rm
make.vim
3565
0644
edit
dl
rm
matlab.vim
4923
0644
edit
dl
rm
meson.vim
5319
0644
edit
dl
rm
mf.vim
156
0644
edit
dl
rm
mma.vim
2273
0644
edit
dl
rm
mp.vim
11321
0644
edit
dl
rm
nginx.vim
362
0644
edit
dl
rm
nsis.vim
3305
0644
edit
dl
rm
objc.vim
1646
0644
edit
dl
rm
ocaml.vim
9191
0644
edit
dl
rm
occam.vim
4700
0644
edit
dl
rm
pascal.vim
5793
0644
edit
dl
rm
perl.vim
5905
0644
edit
dl
rm
php.vim
25901
0644
edit
dl
rm
postscr.vim
1708
0644
edit
dl
rm
pov.vim
2662
0644
edit
dl
rm
prolog.vim
1864
0644
edit
dl
rm
ps1.vim
410
0644
edit
dl
rm
pyrex.vim
326
0644
edit
dl
rm
python.vim
6984
0644
edit
dl
rm
r.vim
14037
0644
edit
dl
rm
raku.vim
3416
0644
edit
dl
rm
raml.vim
285
0644
edit
dl
rm
readline.vim
786
0644
edit
dl
rm
rhelp.vim
2840
0644
edit
dl
rm
rmd.vim
2187
0644
edit
dl
rm
rnoweb.vim
1087
0644
edit
dl
rm
rpl.vim
1863
0644
edit
dl
rm
rrst.vim
1195
0644
edit
dl
rm
rst.vim
1820
0644
edit
dl
rm
ruby.vim
30148
0644
edit
dl
rm
rust.vim
6498
0644
edit
dl
rm
sas.vim
5270
0644
edit
dl
rm
sass.vim
950
0644
edit
dl
rm
scala.vim
19656
0644
edit
dl
rm
scheme.vim
372
0644
edit
dl
rm
scss.vim
191
0644
edit
dl
rm
sdl.vim
2829
0644
edit
dl
rm
sh.vim
9257
0644
edit
dl
rm
sml.vim
6478
0644
edit
dl
rm
sql.vim
1204
0644
edit
dl
rm
sqlanywhere.vim
13269
0644
edit
dl
rm
sshconfig.vim
796
0644
edit
dl
rm
systemd.vim
205
0644
edit
dl
rm
systemverilog.vim
8629
0644
edit
dl
rm
tcl.vim
2542
0644
edit
dl
rm
tcsh.vim
1381
0644
edit
dl
rm
teraterm.vim
1413
0644
edit
dl
rm
tex.vim
13689
0644
edit
dl
rm
tf.vim
1549
0644
edit
dl
rm
tilde.vim
1013
0644
edit
dl
rm
treetop.vim
708
0644
edit
dl
rm
typescript.vim
14481
0644
edit
dl
rm
vb.vim
2089
0644
edit
dl
rm
verilog.vim
8168
0644
edit
dl
rm
vhdl.vim
14666
0644
edit
dl
rm
vim.vim
5764
0644
edit
dl
rm
vroom.vim
379
0644
edit
dl
rm
wast.vim
458
0644
edit
dl
rm
xf86conf.vim
709
0644
edit
dl
rm
xhtml.vim
269
0644
edit
dl
rm
xinetd.vim
1231
0644
edit
dl
rm
xml.vim
7784
0644
edit
dl
rm
xsd.vim
253
0644
edit
dl
rm
xslt.vim
297
0644
edit
dl
rm
yacc.vim
781
0644
edit
dl
rm
yaml.vim
5471
0644
edit
dl
rm
zimbu.vim
3947
0644
edit
dl
rm
zsh.vim
411
0644
edit
dl
rm
Edit:
/usr/share/vim/vim82/indent/fortran.vim
(7664B)
" Vim indent file " Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77) " Version: (v48) 2020 October 07 " Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/> " Usage: For instructions, do :help fortran-indent from Vim " Credits: " Version 0.1 was created in September 2000 by Ajit Thakkar. " Since then, useful suggestions and contributions have been made, in order, by: " Albert Oliver Serra, Takuya Fujiwara, Philipp Edelmann, Eisuke Kawashima, " and Louis Cochen. " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 let s:cposet=&cpoptions set cpoptions&vim setlocal indentkeys+==~end,=~case,=~if,=~else,=~do,=~where,=~elsewhere,=~select setlocal indentkeys+==~endif,=~enddo,=~endwhere,=~endselect,=~elseif setlocal indentkeys+==~type,=~interface,=~forall,=~associate,=~block,=~enum setlocal indentkeys+==~endforall,=~endassociate,=~endblock,=~endenum if exists("b:fortran_indent_more") || exists("g:fortran_indent_more") setlocal indentkeys+==~function,=~subroutine,=~module,=~contains,=~program setlocal indentkeys+==~endfunction,=~endsubroutine,=~endmodule setlocal indentkeys+==~endprogram endif " Determine whether this is a fixed or free format source file " if this hasn't been done yet using the priority: " buffer-local value " > global value " > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers if !exists("b:fortran_fixed_source") if exists("fortran_free_source") " User guarantees free source form let b:fortran_fixed_source = 0 elseif exists("fortran_fixed_source") " User guarantees fixed source form let b:fortran_fixed_source = 1 elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$' " Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers let b:fortran_fixed_source = 0 elseif expand("%:e") =~? '^\%(f\|f77\|for\)$' " Fixed-form file extension defaults let b:fortran_fixed_source = 1 else " Modern fortran still allows both fixed and free source form " Assume fixed source form unless signs of free source form " are detected in the first five columns of the first s:lmax lines. " Detection becomes more accurate and time-consuming if more lines " are checked. Increase the limit below if you keep lots of comments at " the very top of each file and you have a fast computer. let s:lmax = 500 if ( s:lmax > line("$") ) let s:lmax = line("$") endif let b:fortran_fixed_source = 1 let s:ln=1 while s:ln <= s:lmax let s:test = strpart(getline(s:ln),0,5) if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t' let b:fortran_fixed_source = 0 break endif let s:ln = s:ln + 1 endwhile endif endif " Define the appropriate indent function but only once if (b:fortran_fixed_source == 1) setlocal indentexpr=FortranGetFixedIndent() if exists("*FortranGetFixedIndent") let &cpoptions = s:cposet unlet s:cposet finish endif else setlocal indentexpr=FortranGetFreeIndent() if exists("*FortranGetFreeIndent") let &cpoptions = s:cposet unlet s:cposet finish endif endif function FortranGetIndent(lnum) let ind = indent(a:lnum) let prevline=getline(a:lnum) " Strip tail comment let prevstat=substitute(prevline, '!.*$', '', '') let prev2line=getline(a:lnum-1) let prev2stat=substitute(prev2line, '!.*$', '', '') "Indent do loops only if they are all guaranteed to be of do/end do type if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo") if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*do\>' let ind = ind + shiftwidth() endif if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*end\s*do\>' let ind = ind - shiftwidth() endif endif "Add a shiftwidth to statements following if, else, else if, case, class, "where, else where, forall, type, interface and associate statements if prevstat =~? '^\s*\(case\|class\|else\|else\s*if\|else\s*where\)\>' \ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>' \ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>' \ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>' let ind = ind + shiftwidth() " Remove unwanted indent after logical and arithmetic ifs if prevstat =~? '\<if\>' && prevstat !~? '\<then\>' let ind = ind - shiftwidth() endif " Remove unwanted indent after type( statements if prevstat =~? '^\s*type\s*(' let ind = ind - shiftwidth() endif endif "Indent program units unless instructed otherwise if !exists("b:fortran_indent_less") && !exists("g:fortran_indent_less") let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}' let type='\(\(integer\|real\|double\s\+precision\|complex\|logical' \.'\|character\|type\|class\)\s*\S*\s\+\)\=' if prevstat =~? '^\s*\(contains\|submodule\|program\)\>' \ ||prevstat =~? '^\s*'.'module\>\(\s*\procedure\)\@!' \ ||prevstat =~? '^\s*'.prefix.'subroutine\>' \ ||prevstat =~? '^\s*'.prefix.type.'function\>' \ ||prevstat =~? '^\s*'.type.prefix.'function\>' let ind = ind + shiftwidth() endif if getline(v:lnum) =~? '^\s*contains\>' \ ||getline(v:lnum)=~? '^\s*end\s*' \ .'\(function\|subroutine\|module\|submodule\|program\)\>' let ind = ind - shiftwidth() endif endif "Subtract a shiftwidth from else, else if, elsewhere, case, class, end if, " end where, end select, end forall, end interface, end associate, " end enum, end type, end block and end type statements if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*' \. '\(else\|else\s*if\|else\s*where\|case\|class\|' \. 'end\s*\(if\|where\|select\|interface\|' \. 'type\|forall\|associate\|enum\|block\)\)\>' let ind = ind - shiftwidth() " Fix indent for case statement immediately after select if prevstat =~? '\<select\s*\(case\|type\)\>' let ind = ind + shiftwidth() endif endif "First continuation line if prevstat =~ '&\s*$' && prev2stat !~ '&\s*$' let ind = ind + shiftwidth() endif "Line after last continuation line if prevstat !~ '&\s*$' && prev2stat =~ '&\s*$' && prevstat !~? '\<then\>' let ind = ind - shiftwidth() endif return ind endfunction function FortranGetFreeIndent() "Find the previous non-blank line let lnum = prevnonblank(v:lnum - 1) "Use zero indent at the top of the file if lnum == 0 return 0 endif let ind=FortranGetIndent(lnum) return ind endfunction function FortranGetFixedIndent() let currline=getline(v:lnum) "Don't indent comments, continuation lines and labelled lines if strpart(currline,0,6) =~ '[^ \t]' let ind = indent(v:lnum) return ind endif "Find the previous line which is not blank, not a comment, "not a continuation line, and does not have a label let lnum = v:lnum - 1 while lnum > 0 let prevline=getline(lnum) if (prevline =~ "^[C*!]") || (prevline =~ "^\s*$") \ || (strpart(prevline,5,1) !~ "[ 0]") " Skip comments, blank lines and continuation lines let lnum = lnum - 1 else let test=strpart(prevline,0,5) if test =~ "[0-9]" " Skip lines with statement numbers let lnum = lnum - 1 else break endif endif endwhile "First line must begin at column 7 if lnum == 0 return 6 endif let ind=FortranGetIndent(lnum) return ind endfunction let &cpoptions = s:cposet unlet s:cposet " vim:sw=2 tw=130
Save
cmd:
run