/
usr
/
share
/
vim
/
vim91
/
indent
/
/usr/share/vim/vim91/indent
mkdir
upload
Name
Size
Mode
Actions
aap.vim
331
0644
edit
dl
rm
ada.vim
11324
0644
edit
dl
rm
ant.vim
290
0644
edit
dl
rm
automake.vim
243
0644
edit
dl
rm
awk.vim
7863
0644
edit
dl
rm
bash.vim
390
0644
edit
dl
rm
basic.vim
250
0644
edit
dl
rm
bib.vim
346
0644
edit
dl
rm
bitbake.vim
583
0644
edit
dl
rm
bst.vim
1907
0644
edit
dl
rm
bzl.vim
2925
0644
edit
dl
rm
c.vim
391
0644
edit
dl
rm
cdl.vim
4366
0644
edit
dl
rm
ch.vim
556
0644
edit
dl
rm
chaiscript.vim
1204
0644
edit
dl
rm
changelog.vim
264
0644
edit
dl
rm
chatito.vim
731
0644
edit
dl
rm
clojure.vim
11557
0644
edit
dl
rm
cmake.vim
3049
0644
edit
dl
rm
cobol.vim
8832
0644
edit
dl
rm
config.vim
2222
0644
edit
dl
rm
context.vim
1714
0644
edit
dl
rm
cpp.vim
395
0644
edit
dl
rm
cs.vim
1928
0644
edit
dl
rm
css.vim
1813
0644
edit
dl
rm
cucumber.vim
2809
0644
edit
dl
rm
cuda.vim
371
0644
edit
dl
rm
d.vim
605
0644
edit
dl
rm
dictconf.vim
411
0644
edit
dl
rm
dictdconf.vim
414
0644
edit
dl
rm
docbk.vim
336
0644
edit
dl
rm
dosbatch.vim
1382
0644
edit
dl
rm
dtd.vim
12072
0644
edit
dl
rm
dtrace.vim
451
0644
edit
dl
rm
dts.vim
1735
0644
edit
dl
rm
dune.vim
430
0644
edit
dl
rm
dylan.vim
2811
0644
edit
dl
rm
eiffel.vim
3317
0644
edit
dl
rm
elm.vim
3277
0644
edit
dl
rm
erlang.vim
51955
0644
edit
dl
rm
eruby.vim
3016
0644
edit
dl
rm
eterm.vim
743
0644
edit
dl
rm
expect.vim
207
0644
edit
dl
rm
falcon.vim
14171
0644
edit
dl
rm
fennel.vim
273
0644
edit
dl
rm
fish.vim
2719
0644
edit
dl
rm
fortran.vim
7906
0644
edit
dl
rm
framescript.vim
891
0644
edit
dl
rm
freebasic.vim
237
0644
edit
dl
rm
gdscript.vim
4359
0644
edit
dl
rm
gitconfig.vim
841
0644
edit
dl
rm
gitolite.vim
1321
0644
edit
dl
rm
go.vim
1767
0644
edit
dl
rm
gyp.vim
169
0644
edit
dl
rm
haml.vim
2247
0644
edit
dl
rm
hamster.vim
1692
0644
edit
dl
rm
hare.vim
4490
0644
edit
dl
rm
hog.vim
1892
0644
edit
dl
rm
html.vim
33914
0644
edit
dl
rm
htmldjango.vim
273
0644
edit
dl
rm
idlang.vim
1723
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
15493
0644
edit
dl
rm
javascriptreact.vim
109
0644
edit
dl
rm
json.vim
4644
0644
edit
dl
rm
jsonc.vim
4857
0644
edit
dl
rm
jsp.vim
462
0644
edit
dl
rm
julia.vim
15660
0644
edit
dl
rm
kotlin.vim
1566
0644
edit
dl
rm
krl.vim
4356
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
2077
0644
edit
dl
rm
lisp.vim
349
0644
edit
dl
rm
livebook.vim
206
0644
edit
dl
rm
logtalk.vim
1959
0644
edit
dl
rm
lua.vim
2269
0644
edit
dl
rm
luau.vim
252
0644
edit
dl
rm
mail.vim
385
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
164
0644
edit
dl
rm
mma.vim
2367
0644
edit
dl
rm
mp.vim
9954
0644
edit
dl
rm
nginx.vim
1737
0644
edit
dl
rm
nsis.vim
3306
0644
edit
dl
rm
objc.vim
1688
0644
edit
dl
rm
obse.vim
1437
0644
edit
dl
rm
ocaml.vim
9305
0644
edit
dl
rm
occam.vim
4738
0644
edit
dl
rm
pascal.vim
5793
0644
edit
dl
rm
perl.vim
6051
0644
edit
dl
rm
php.vim
26383
0644
edit
dl
rm
postscr.vim
1679
0644
edit
dl
rm
pov.vim
2770
0644
edit
dl
rm
prolog.vim
1954
0644
edit
dl
rm
ps1.vim
410
0644
edit
dl
rm
pyrex.vim
326
0644
edit
dl
rm
python.vim
886
0644
edit
dl
rm
qb64.vim
232
0644
edit
dl
rm
qml.vim
1303
0644
edit
dl
rm
quarto.vim
23
0644
edit
dl
rm
r.vim
14299
0644
edit
dl
rm
racket.vim
2940
0644
edit
dl
rm
raku.vim
3530
0644
edit
dl
rm
raml.vim
285
0644
edit
dl
rm
rapid.vim
8166
0644
edit
dl
rm
readline.vim
786
0644
edit
dl
rm
rhelp.vim
2899
0644
edit
dl
rm
rmd.vim
2306
0644
edit
dl
rm
rnoweb.vim
1126
0644
edit
dl
rm
rpl.vim
1863
0644
edit
dl
rm
rrst.vim
1222
0644
edit
dl
rm
rst.vim
1949
0644
edit
dl
rm
ruby.vim
31059
0644
edit
dl
rm
rust.vim
10502
0644
edit
dl
rm
sas.vim
5309
0644
edit
dl
rm
sass.vim
926
0644
edit
dl
rm
scala.vim
19765
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
6573
0644
edit
dl
rm
solidity.vim
12913
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
systemverilog.vim
10804
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
13848
0644
edit
dl
rm
tf.vim
1604
0644
edit
dl
rm
tilde.vim
1136
0644
edit
dl
rm
treetop.vim
785
0644
edit
dl
rm
typescript.vim
14618
0644
edit
dl
rm
typescriptreact.vim
109
0644
edit
dl
rm
vb.vim
4801
0644
edit
dl
rm
verilog.vim
8269
0644
edit
dl
rm
vhdl.vim
14778
0644
edit
dl
rm
vim.vim
675
0644
edit
dl
rm
vroom.vim
379
0644
edit
dl
rm
vue.vim
385
0644
edit
dl
rm
wat.vim
458
0644
edit
dl
rm
xf86conf.vim
786
0644
edit
dl
rm
xhtml.vim
325
0644
edit
dl
rm
xinetd.vim
1308
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
858
0644
edit
dl
rm
yaml.vim
5577
0644
edit
dl
rm
zig.vim
2137
0644
edit
dl
rm
zimbu.vim
4013
0644
edit
dl
rm
zsh.vim
411
0644
edit
dl
rm
Edit:
/usr/share/vim/vim91/indent/rapid.vim
(8166B)
" ABB Rapid Command indent file for Vim " Language: ABB Rapid Command " Maintainer: Patrick Meiser-Knosowski <knosowski@graeffrobotics.de> " Version: 2.2.7 " Last Change: 12. May 2023 " Credits: Based on indent/vim.vim " " Suggestions of improvement are very welcome. Please email me! " " Known bugs: ../doc/rapid.txt " " TODO " * indent wrapped lines which do not end with an ; or special key word, " maybe this is a better idea, but then () and [] has to be changed as " well " if exists("g:rapidNoSpaceIndent") if !exists("g:rapidSpaceIndent") let g:rapidSpaceIndent = !g:rapidNoSpaceIndent endif unlet g:rapidNoSpaceIndent endif " Only load this indent file when no other was loaded. if exists("b:did_indent") || get(g:,'rapidNoIndent',0) finish endif let b:did_indent = 1 setlocal nolisp setlocal nosmartindent setlocal autoindent setlocal indentexpr=GetRapidIndent() if get(g:,'rapidNewStyleIndent',0) setlocal indentkeys=!^F,o,O,0=~endmodule,0=~error,0=~undo,0=~backward,0=~endproc,0=~endrecord,0=~endtrap,0=~endfunc,0=~else,0=~endif,0=~endtest,0=~endfor,0=~endwhile,:,<[>,<]>,<(>,<)> else setlocal indentkeys=!^F,o,O,0=~endmodule,0=~error,0=~undo,0=~backward,0=~endproc,0=~endrecord,0=~endtrap,0=~endfunc,0=~else,0=~endif,0=~endtest,0=~endfor,0=~endwhile,: endif let b:undo_indent="setlocal lisp< si< ai< inde< indk<" if get(g:,'rapidSpaceIndent',1) " Use spaces for indention, 2 is enough. " More or even tabs wastes space on the teach pendant. setlocal softtabstop=2 setlocal shiftwidth=2 setlocal expandtab setlocal shiftround let b:undo_indent = b:undo_indent." sts< sw< et< sr<" endif " Only define the function once. if exists("*GetRapidIndent") finish endif let s:keepcpo= &cpo set cpo&vim function GetRapidIndent() let ignorecase_save = &ignorecase try let &ignorecase = 0 return s:GetRapidIndentIntern() finally let &ignorecase = ignorecase_save endtry endfunction function s:GetRapidIndentIntern() abort let l:currentLineNum = v:lnum let l:currentLine = getline(l:currentLineNum) if l:currentLine =~ '^!' && !get(g:,'rapidCommentIndent',0) " If current line is ! line comment, do not change indent " This may be useful if code is commented out at the first column. return 0 endif " Find a non-blank line above the current line. let l:preNoneBlankLineNum = s:RapidPreNoneBlank(v:lnum - 1) if l:preNoneBlankLineNum == 0 " At the start of the file use zero indent. return 0 endif let l:preNoneBlankLine = getline(l:preNoneBlankLineNum) let l:ind = indent(l:preNoneBlankLineNum) " Define add a 'shiftwidth' pattern let l:addShiftwidthPattern = '\c\v^\s*(' let l:addShiftwidthPattern .= '((local|task)\s+)?(module|record|proc|func|trap)\s+\k' let l:addShiftwidthPattern .= '|(backward|error|undo)>' let l:addShiftwidthPattern .= ')' " " Define Subtract 'shiftwidth' pattern let l:subtractShiftwidthPattern = '\c\v^\s*(' let l:subtractShiftwidthPattern .= 'end(module|record|proc|func|trap)>' let l:subtractShiftwidthPattern .= '|(backward|error|undo)>' let l:subtractShiftwidthPattern .= ')' " Add shiftwidth if l:preNoneBlankLine =~ l:addShiftwidthPattern \|| s:RapidLenTilStr(l:preNoneBlankLineNum, "then", 0)>=0 \|| s:RapidLenTilStr(l:preNoneBlankLineNum, "else", 0)>=0 \|| s:RapidLenTilStr(l:preNoneBlankLineNum, "do", 0)>=0 \|| s:RapidLenTilStr(l:preNoneBlankLineNum, "case", 0)>=0 \|| s:RapidLenTilStr(l:preNoneBlankLineNum, "default", 0)>=0 let l:ind += &sw endif " Subtract shiftwidth if l:currentLine =~ l:subtractShiftwidthPattern \|| s:RapidLenTilStr(l:currentLineNum, "endif", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "endfor", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "endwhile", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "endtest", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "else", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "elseif", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "case", 0)>=0 \|| s:RapidLenTilStr(l:currentLineNum, "default", 0)>=0 let l:ind = l:ind - &sw endif " First case (or default) after a test gets the indent of the test. if (s:RapidLenTilStr(l:currentLineNum, "case", 0)>=0 || s:RapidLenTilStr(l:currentLineNum, "default", 0)>=0) && s:RapidLenTilStr(l:preNoneBlankLineNum, "test", 0)>=0 let l:ind += &sw endif " continued lines with () or [] let l:OpenSum = s:RapidLoneParen(l:preNoneBlankLineNum,"(") + s:RapidLoneParen(l:preNoneBlankLineNum,"[") if get(g:,'rapidNewStyleIndent',0) let l:CloseSum = s:RapidLoneParen(l:preNoneBlankLineNum,")") + s:RapidLoneParen(l:currentLineNum,"]") else let l:CloseSum = s:RapidLoneParen(l:preNoneBlankLineNum,")") + s:RapidLoneParen(l:preNoneBlankLineNum,"]") endif if l:OpenSum > l:CloseSum let l:ind += (l:OpenSum * 4 * &sw) elseif l:OpenSum < l:CloseSum let l:ind -= (l:CloseSum * 4 * &sw) endif return l:ind endfunction " Returns the length of the line until a:str occur outside a string or " comment. Search starts at string index a:startIdx. " If a:str is a word also add word boundaries and case insensitivity. " Note: rapidTodoComment and rapidDebugComment are not taken into account. function s:RapidLenTilStr(lnum, str, startIdx) abort let l:line = getline(a:lnum) let l:len = strlen(l:line) let l:idx = a:startIdx let l:str = a:str if l:str =~ '^\k\+$' let l:str = '\c\<' . l:str . '\>' endif while l:len > l:idx let l:idx = match(l:line, l:str, l:idx) if l:idx < 0 " a:str not found return -1 endif let l:synName = synIDattr(synID(a:lnum,l:idx+1,0),"name") if l:synName != "rapidString" \&& l:synName != "rapidConcealableString" \&& (l:synName != "rapidComment" || l:str =~ '^!') " a:str found outside string or line comment return l:idx endif " a:str is part of string or line comment let l:idx += 1 " continue search for a:str endwhile " a:str not found or l:len <= a:startIdx return -1 endfunction " a:lchar should be one of (, ), [, ], { or } " returns the number of opening/closing parentheses which have no " closing/opening match in getline(a:lnum) function s:RapidLoneParen(lnum,lchar) abort if a:lchar == "(" || a:lchar == ")" let l:opnParChar = "(" let l:clsParChar = ")" elseif a:lchar == "[" || a:lchar == "]" let l:opnParChar = "[" let l:clsParChar = "]" elseif a:lchar == "{" || a:lchar == "}" let l:opnParChar = "{" let l:clsParChar = "}" else return 0 endif let l:line = getline(a:lnum) " look for the first ! which is not part of a string let l:len = s:RapidLenTilStr(a:lnum,"!",0) if l:len == 0 return 0 " first char is !; ignored endif let l:opnParen = 0 " count opening brackets let l:i = 0 while l:i >= 0 let l:i = s:RapidLenTilStr(a:lnum, l:opnParChar, l:i) if l:i >= 0 let l:opnParen += 1 let l:i += 1 endif endwhile let l:clsParen = 0 " count closing brackets let l:i = 0 while l:i >= 0 let l:i = s:RapidLenTilStr(a:lnum, l:clsParChar, l:i) if l:i >= 0 let l:clsParen += 1 let l:i += 1 endif endwhile if (a:lchar == "(" || a:lchar == "[" || a:lchar == "{") && l:opnParen>l:clsParen return (l:opnParen-l:clsParen) elseif (a:lchar == ")" || a:lchar == "]" || a:lchar == "}") && l:clsParen>l:opnParen return (l:clsParen-l:opnParen) endif return 0 endfunction " This function works almost like prevnonblank() but handles %%%-headers and " comments like blank lines function s:RapidPreNoneBlank(lnum) abort let nPreNoneBlank = prevnonblank(a:lnum) while nPreNoneBlank>0 && getline(nPreNoneBlank) =~ '\v\c^\s*(\%\%\%|!)' " Previous none blank line irrelevant. Look further aback. let nPreNoneBlank = prevnonblank(nPreNoneBlank - 1) endwhile return nPreNoneBlank endfunction let &cpo = s:keepcpo unlet s:keepcpo " vim:sw=2 sts=2 et
Save
cmd:
run