OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
vim
/
vim80
/
indent
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 07:13:33 AM
rwxr-xr-x
📄
README.txt
1.6 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
aap.vim
265 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
ada.vim
10.97 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
ant.vim
290 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
automake.vim
243 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
awk.vim
7.59 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
bib.vim
346 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
bst.vim
1.89 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
bzl.vim
2.43 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
c.vim
325 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
cdl.vim
4.15 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
ch.vim
470 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
chaiscript.vim
1.11 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
changelog.vim
264 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
clojure.vim
10.2 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
cmake.vim
2.62 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
cobol.vim
8.11 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
config.vim
2.13 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
context.vim
752 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
cpp.vim
329 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
cs.vim
327 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
css.vim
1.75 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
cucumber.vim
2.62 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
cuda.vim
305 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
d.vim
510 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
dictconf.vim
337 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
dictdconf.vim
338 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
docbk.vim
336 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
dtd.vim
11.59 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
dtrace.vim
451 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
dylan.vim
2.64 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
eiffel.vim
3.24 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
erlang.vim
45.29 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
eruby.vim
2.74 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
eterm.vim
668 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
falcon.vim
13.72 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
fortran.vim
7.27 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
framescript.vim
816 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
gitconfig.vim
841 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
gitolite.vim
1.25 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
go.vim
1.63 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
haml.vim
2.16 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
hamster.vim
1.39 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
hog.vim
1.85 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
html.vim
31.94 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
htmldjango.vim
273 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
idlang.vim
1.58 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
ishd.vim
1.83 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
j.vim
1.77 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
java.vim
4.19 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
javascript.vim
15 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
json.vim
4.32 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
jsp.vim
462 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
ld.vim
1.75 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
less.vim
243 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
lifelines.vim
637 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
liquid.vim
1.85 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
lisp.vim
353 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
logtalk.vim
1.7 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
lua.vim
1.88 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
mail.vim
308 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
make.vim
3.41 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
matlab.vim
1.92 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
mf.vim
156 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
mma.vim
2.18 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
mp.vim
11.06 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
nsis.vim
3.18 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
objc.vim
1.61 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
ocaml.vim
8.94 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
occam.vim
4.53 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
pascal.vim
5.52 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
perl.vim
5.76 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
perl6.vim
3.46 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
php.vim
21.91 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
postscr.vim
1.61 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
pov.vim
2.6 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
prolog.vim
1.46 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
pyrex.vim
326 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
python.vim
5.61 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
r.vim
13.58 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
readline.vim
711 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
rhelp.vim
2.77 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rmd.vim
1.17 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rnoweb.vim
1.06 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rpl.vim
1.82 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rrst.vim
1.17 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rst.vim
1.37 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
ruby.vim
22.43 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
rust.vim
6.35 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sas.vim
5.01 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sass.vim
950 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
scala.vim
18.97 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
scheme.vim
241 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
scss.vim
191 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
sdl.vim
2.73 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sh.vim
5.58 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sml.vim
6.33 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sql.vim
1.18 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
sqlanywhere.vim
12.86 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
systemd.vim
205 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
systemverilog.vim
8.38 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
tcl.vim
1.59 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
tcsh.vim
1.24 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
teraterm.vim
1.33 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
tex.vim
13.2 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
tf.vim
1.51 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
tilde.vim
1012 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
treetop.vim
707 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
vb.vim
2.04 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
verilog.vim
7.97 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
vhdl.vim
14.32 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
vim.vim
2.92 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
vroom.vim
379 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
xf86conf.vim
709 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
xhtml.vim
269 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
xinetd.vim
1.2 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
xml.vim
2.78 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
xsd.vim
253 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
xslt.vim
297 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
yacc.vim
781 bytes
04/18/2023 09:20:34 AM
rw-r--r--
📄
yaml.vim
5.34 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
zimbu.vim
3.84 KB
04/18/2023 09:20:34 AM
rw-r--r--
📄
zsh.vim
411 bytes
04/18/2023 09:20:34 AM
rw-r--r--
Editing: ocaml.vim
Close
" Vim indent file " Language: OCaml " Maintainers: Jean-Francois Yuen <jfyuen@happycoders.org> " Mike Leary <leary@nwlink.com> " Markus Mottl <markus.mottl@gmail.com> " URL: http://www.ocaml.info/vim/indent/ocaml.vim " Last Change: 2017 Jun 13 " 2005 Jun 25 - Fixed multiple bugs due to 'else\nreturn ind' working " 2005 May 09 - Added an option to not indent OCaml-indents specially (MM) " 2013 June - commented textwidth (Marc Weber) " " Marc Weber's comment: This file may contain a lot of (very custom) stuff " which eventually should be moved somewhere else .. " Only load this indent file when no other was loaded. if exists("b:did_indent") finish endif let b:did_indent = 1 setlocal expandtab setlocal indentexpr=GetOCamlIndent() setlocal indentkeys+=0=and,0=class,0=constraint,0=done,0=else,0=end,0=exception,0=external,0=if,0=in,0=include,0=inherit,0=initializer,0=let,0=method,0=open,0=then,0=type,0=val,0=with,0;;,0>\],0\|\],0>},0\|,0},0\],0) setlocal nolisp setlocal nosmartindent " At least Marc Weber and Markus Mottl do not like this: " setlocal textwidth=80 " Comment formatting if !exists("no_ocaml_comments") if (has("comments")) setlocal comments=sr:(*,mb:*,ex:*) setlocal fo=cqort endif endif " Only define the function once. if exists("*GetOCamlIndent") finish endif " Define some patterns: let s:beflet = '^\s*\(initializer\|method\|try\)\|\(\<\(begin\|do\|else\|in\|then\|try\)\|->\|<-\|=\|;\|(\)\s*$' let s:letpat = '^\s*\(let\|type\|module\|class\|open\|exception\|val\|include\|external\)\>' let s:letlim = '\(\<\(sig\|struct\)\|;;\)\s*$' let s:lim = '^\s*\(exception\|external\|include\|let\|module\|open\|type\|val\)\>' let s:module = '\<\%(begin\|sig\|struct\|object\)\>' let s:obj = '^\s*\(constraint\|inherit\|initializer\|method\|val\)\>\|\<\(object\|object\s*(.*)\)\s*$' let s:type = '^\s*\%(class\|let\|type\)\>.*=' " Skipping pattern, for comments function! s:GetLineWithoutFullComment(lnum) let lnum = prevnonblank(a:lnum - 1) let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') while lline =~ '^\s*$' && lnum > 0 let lnum = prevnonblank(lnum - 1) let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') endwhile return lnum endfunction " Indent for ';;' to match multiple 'let' function! s:GetInd(lnum, pat, lim) let llet = search(a:pat, 'bW') let old = indent(a:lnum) while llet > 0 let old = indent(llet) let nb = s:GetLineWithoutFullComment(llet) if getline(nb) =~ a:lim return old endif let llet = search(a:pat, 'bW') endwhile return old endfunction " Indent pairs function! s:FindPair(pstart, pmid, pend) call search(a:pend, 'bW') return indent(searchpair(a:pstart, a:pmid, a:pend, 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"')) endfunction " Indent 'let' function! s:FindLet(pstart, pmid, pend) call search(a:pend, 'bW') return indent(searchpair(a:pstart, a:pmid, a:pend, 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment" || getline(".") =~ "^\\s*let\\>.*=.*\\<in\\s*$" || getline(prevnonblank(".") - 1) =~ s:beflet')) endfunction function! GetOCamlIndent() " Find a non-commented line above the current line. let lnum = s:GetLineWithoutFullComment(v:lnum) " At the start of the file use zero indent. if lnum == 0 return 0 endif let ind = indent(lnum) let lline = substitute(getline(lnum), '(\*.*\*)\s*$', '', '') " Return double 'shiftwidth' after lines matching: if lline =~ '^\s*|.*->\s*$' return ind + 2 * shiftwidth() endif let line = getline(v:lnum) " Indent if current line begins with 'end': if line =~ '^\s*end\>' return s:FindPair(s:module, '','\<end\>') " Indent if current line begins with 'done' for 'do': elseif line =~ '^\s*done\>' return s:FindPair('\<do\>', '','\<done\>') " Indent if current line begins with '}' or '>}': elseif line =~ '^\s*\(\|>\)}' return s:FindPair('{', '','}') " Indent if current line begins with ']', '|]' or '>]': elseif line =~ '^\s*\(\||\|>\)\]' return s:FindPair('\[', '','\]') " Indent if current line begins with ')': elseif line =~ '^\s*)' return s:FindPair('(', '',')') " Indent if current line begins with 'let': elseif line =~ '^\s*let\>' if lline !~ s:lim . '\|' . s:letlim . '\|' . s:beflet return s:FindLet(s:type, '','\<let\s*$') endif " Indent if current line begins with 'class' or 'type': elseif line =~ '^\s*\(class\|type\)\>' if lline !~ s:lim . '\|\<and\s*$\|' . s:letlim return s:FindLet(s:type, '','\<\(class\|type\)\s*$') endif " Indent for pattern matching: elseif line =~ '^\s*|' if lline !~ '^\s*\(|[^\]]\|\(match\|type\|with\)\>\)\|\<\(function\|parser\|private\|with\)\s*$' call search('|', 'bW') return indent(searchpair('^\s*\(match\|type\)\>\|\<\(function\|parser\|private\|with\)\s*$', '', '^\s*|', 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment" || getline(".") !~ "^\\s*|.*->"')) endif " Indent if current line begins with ';;': elseif line =~ '^\s*;;' if lline !~ ';;\s*$' return s:GetInd(v:lnum, s:letpat, s:letlim) endif " Indent if current line begins with 'in': elseif line =~ '^\s*in\>' if lline !~ '^\s*\(let\|and\)\>' return s:FindPair('\<let\>', '', '\<in\>') endif " Indent if current line begins with 'else': elseif line =~ '^\s*else\>' if lline !~ '^\s*\(if\|then\)\>' return s:FindPair('\<if\>', '', '\<else\>') endif " Indent if current line begins with 'then': elseif line =~ '^\s*then\>' if lline !~ '^\s*\(if\|else\)\>' return s:FindPair('\<if\>', '', '\<then\>') endif " Indent if current line begins with 'and': elseif line =~ '^\s*and\>' if lline !~ '^\s*\(and\|let\|type\)\>\|\<end\s*$' return ind - shiftwidth() endif " Indent if current line begins with 'with': elseif line =~ '^\s*with\>' if lline !~ '^\s*\(match\|try\)\>' return s:FindPair('\<\%(match\|try\)\>', '','\<with\>') endif " Indent if current line begins with 'exception', 'external', 'include' or " 'open': elseif line =~ '^\s*\(exception\|external\|include\|open\)\>' if lline !~ s:lim . '\|' . s:letlim call search(line) return indent(search('^\s*\(\(exception\|external\|include\|open\|type\)\>\|val\>.*:\)', 'bW')) endif " Indent if current line begins with 'val': elseif line =~ '^\s*val\>' if lline !~ '^\s*\(exception\|external\|include\|open\)\>\|' . s:obj . '\|' . s:letlim return indent(search('^\s*\(\(exception\|include\|initializer\|method\|open\|type\|val\)\>\|external\>.*:\)', 'bW')) endif " Indent if current line begins with 'constraint', 'inherit', 'initializer' " or 'method': elseif line =~ '^\s*\(constraint\|inherit\|initializer\|method\)\>' if lline !~ s:obj return indent(search('\<\(object\|object\s*(.*)\)\s*$', 'bW')) + shiftwidth() endif endif " Add a 'shiftwidth' after lines ending with: if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$' let ind = ind + shiftwidth() " Back to normal indent after lines ending with ';;': elseif lline =~ ';;\s*$' && lline !~ '^\s*;;' let ind = s:GetInd(v:lnum, s:letpat, s:letlim) " Back to normal indent after lines ending with 'end': elseif lline =~ '\<end\s*$' let ind = s:FindPair(s:module, '','\<end\>') " Back to normal indent after lines ending with 'in': elseif lline =~ '\<in\s*$' && lline !~ '^\s*in\>' let ind = s:FindPair('\<let\>', '', '\<in\>') " Back to normal indent after lines ending with 'done': elseif lline =~ '\<done\s*$' let ind = s:FindPair('\<do\>', '','\<done\>') " Back to normal indent after lines ending with '}' or '>}': elseif lline =~ '\(\|>\)}\s*$' let ind = s:FindPair('{', '','}') " Back to normal indent after lines ending with ']', '|]' or '>]': elseif lline =~ '\(\||\|>\)\]\s*$' let ind = s:FindPair('\[', '','\]') " Back to normal indent after comments: elseif lline =~ '\*)\s*$' call search('\*)', 'bW') let ind = indent(searchpair('(\*', '', '\*)', 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"')) " Back to normal indent after lines ending with ')': elseif lline =~ ')\s*$' let ind = s:FindPair('(', '',')') " If this is a multiline comment then align '*': elseif lline =~ '^\s*(\*' && line =~ '^\s*\*' let ind = ind + 1 else " Don't change indentation of this line " for new lines (indent==0) use indentation of previous line " This is for preventing removing indentation of these args: " let f x = " let y = x + 1 in " Printf.printf " "o" << here " "oeuth" << don't touch indentation let i = indent(v:lnum) return i == 0 ? ind : i endif " Subtract a 'shiftwidth' after lines matching 'match ... with parser': if lline =~ '\<match\>.*\<with\>\s*\<parser\s*$' let ind = ind - shiftwidth() endif return ind endfunction " vim:sw=2