| 
									
										
										
										
											2018-10-25 16:53:19 +02:00
										 |  |  | " vim: set ft=vim sw=4 : | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | func Some() | 
					
						
							|  |  |  | let x = 1 | 
					
						
							|  |  |  | endfunc | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let cmd = | 
					
						
							|  |  |  | \ 'some ' | 
					
						
							|  |  |  | \ 'string' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-25 21:14:57 +01:00
										 |  |  | if 1 | 
					
						
							|  |  |  | let x = [ | 
					
						
							|  |  |  | \ ] | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-13 18:14:48 +01:00
										 |  |  | for x in [ | 
					
						
							|  |  |  | {key: 'value'}, | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | eval 0 | 
					
						
							|  |  |  | endfor | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-24 11:48:03 +01:00
										 |  |  | let t = [ | 
					
						
							|  |  |  | \ { | 
					
						
							|  |  |  | \ 'k': 'val', | 
					
						
							|  |  |  | \ }, | 
					
						
							|  |  |  | \  ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-04 17:45:43 +01:00
										 |  |  | def Func() | 
					
						
							| 
									
										
										
										
											2022-09-27 17:30:34 +01:00
										 |  |  | var d = dd | 
					
						
							|  |  |  | ->extend({ | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | eval 0 | 
					
						
							| 
									
										
										
										
											2022-09-04 17:45:43 +01:00
										 |  |  | enddef | 
					
						
							| 
									
										
										
										
											2018-10-25 16:53:19 +02:00
										 |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_EXE let g:vim_indent_cont = 6 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let cmd = | 
					
						
							|  |  |  | \ 'some ' | 
					
						
							|  |  |  | \ 'string' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-11 19:40:15 +01:00
										 |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_EXE let g:vim_indent_cont = 5 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let list = [ | 
					
						
							|  |  |  | \ 'one', | 
					
						
							|  |  |  | \ 'two'] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-25 16:53:19 +02:00
										 |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_EXE unlet g:vim_indent_cont | 
					
						
							| 
									
										
										
										
											2021-01-11 19:40:15 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | let list = [ | 
					
						
							|  |  |  | 'one', | 
					
						
							|  |  |  | 'two', | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							| 
									
										
										
										
											2018-10-25 16:53:19 +02:00
										 |  |  | " INDENT_AT  this-line | 
					
						
							|  |  |  | func Some() | 
					
						
							|  |  |  | let f = x " this-line | 
					
						
							|  |  |  | endfunc | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_NEXT  next-line | 
					
						
							|  |  |  | func Some() | 
					
						
							| 
									
										
										
										
											2022-09-27 17:30:34 +01:00
										 |  |  |     " next-line | 
					
						
							| 
									
										
										
										
											2018-10-25 16:53:19 +02:00
										 |  |  | let f = x | 
					
						
							|  |  |  | endfunc | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_PREV  prev-line | 
					
						
							|  |  |  | func Some() | 
					
						
							|  |  |  | let f = x | 
					
						
							|  |  |  | " prev-line | 
					
						
							|  |  |  | endfunc | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2019-11-02 14:09:23 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | let a =<< END | 
					
						
							|  |  |  | nothing | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-27 17:30:34 +01:00
										 |  |  | " START_INDENT | 
					
						
							|  |  |  | let a =<< trim END | 
					
						
							|  |  |  | nothing | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-02 14:09:23 +01:00
										 |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_AT  this-line | 
					
						
							|  |  |  | let a=<< trim END | 
					
						
							|  |  |  |    blah | 
					
						
							|  |  |  |       blah | 
					
						
							|  |  |  |       blah this-line | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2022-09-27 17:30:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if v:true | 
					
						
							|  |  |  | echo 0 | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = Func( | 
					
						
							|  |  |  | arg1, | 
					
						
							|  |  |  | arg2 | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = Func(arg1, | 
					
						
							|  |  |  | arg2) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | filter(list, (k, v) => | 
					
						
							|  |  |  | v > 0) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | filter(list, (k, v) => { | 
					
						
							|  |  |  | const x = get(list, k, 0) | 
					
						
							|  |  |  | return x > 0 | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if x > 0 | 
					
						
							|  |  |  | filter(list, (k, v) => { | 
					
						
							|  |  |  | const x = get(list, k, 1) | 
					
						
							|  |  |  | return x > 0 | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | var temp = 'temp' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var text = lead | 
					
						
							|  |  |  | .. middle | 
					
						
							|  |  |  | .. end | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var text = lead .. | 
					
						
							|  |  |  | middle .. | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var total = start + | 
					
						
							|  |  |  | end - | 
					
						
							|  |  |  | correction | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = start | 
					
						
							|  |  |  | :+ print | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = positive | 
					
						
							|  |  |  | ? PosFunc(arg) | 
					
						
							|  |  |  | : NegFunc(arg) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = GetBuilder() | 
					
						
							|  |  |  | ->BuilderSetWidth(333) | 
					
						
							|  |  |  | ->BuilderSetHeight(777) | 
					
						
							|  |  |  | ->BuilderBuild() | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var result = MyDict | 
					
						
							|  |  |  | .member | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | autocmd BufNewFile *.match if condition | 
					
						
							|  |  |  | |   echo 'match' | 
					
						
							|  |  |  | | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | set cpo+=C | 
					
						
							|  |  |  | var lines =<< trim END | 
					
						
							|  |  |  | | this works | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | set cpo-=C | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | syn region Text | 
					
						
							|  |  |  | \ start='foo' | 
					
						
							|  |  |  | #\ comment | 
					
						
							|  |  |  | \ end='bar' | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | au CursorHold * echom 'BEFORE bar' | 
					
						
							|  |  |  | #\ some comment | 
					
						
							|  |  |  | | echom 'AFTER bar' | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def MyFunc(text: string, | 
					
						
							|  |  |  | separator = '-' | 
					
						
							|  |  |  | ): string | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def MyFunc( | 
					
						
							|  |  |  | text: string, | 
					
						
							|  |  |  | separator = '-' | 
					
						
							|  |  |  | ): string | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | [var1, var2] = | 
					
						
							|  |  |  | Func() | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | const list = ['one', | 
					
						
							|  |  |  | 'two'] | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | const list = [ | 
					
						
							|  |  |  | 'one', | 
					
						
							|  |  |  | 'two', | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | const dict = {one: 1, | 
					
						
							|  |  |  | two: 2 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | const dict = { | 
					
						
							|  |  |  | one: 1, | 
					
						
							|  |  |  | two: 2 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | const dict = | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | one: 1, | 
					
						
							|  |  |  | two: 2 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | return { | 
					
						
							|  |  |  | one: 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo { | 
					
						
							|  |  |  | a: 0, | 
					
						
							|  |  |  | # b | 
					
						
							|  |  |  | # c | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo search( | 
					
						
							|  |  |  | # comment | 
					
						
							|  |  |  | '1' | 
					
						
							|  |  |  | .. '2' | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | var v = (      # trailing "(" starts line continuation | 
					
						
							|  |  |  | 3 + 4      # nothing special | 
					
						
							|  |  |  | )              # end of expression indicates continued line | 
					
						
							|  |  |  | var x: number  # needs to align with previous "var" | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() # {{{ | 
					
						
							|  |  |  | # comment | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | return | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo { | 
					
						
							|  |  |  | key: | 
					
						
							|  |  |  | 'value', | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var id = time | 
					
						
							|  |  |  | ->timer_start((_) => { | 
					
						
							|  |  |  | n = 0 | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | augroup Name | 
					
						
							|  |  |  | autocmd! | 
					
						
							|  |  |  | augroup END | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var n = | 
					
						
							|  |  |  | # comment | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | + 2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var s = '' | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var keys = { | 
					
						
							|  |  |  | J: 'j', | 
					
						
							|  |  |  | "\<Home>": '1G', | 
					
						
							|  |  |  | "\<End>": 'G', | 
					
						
							|  |  |  | z: 'zz' | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | export def Func( | 
					
						
							|  |  |  | n: number, | 
					
						
							|  |  |  | s: string, | 
					
						
							|  |  |  | ...l: list<bool> | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var heredoc =<< trim ENDD | 
					
						
							|  |  |  | var nested_heredoc =<< trim END | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | ENDD | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | else  " comment | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | echo 'one' | endif | 
					
						
							|  |  |  | if true | echo 'two' | endif | 
					
						
							|  |  |  | if true | echo 'three' | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | :'<-1 mark < | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | echo '' | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | substitute/pat /rep / | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | try | 
					
						
							|  |  |  | echo 1 | 
					
						
							|  |  |  | catch /pat /  # comment | 
					
						
							|  |  |  | echo 2 | 
					
						
							|  |  |  | endtry | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | Cmd % | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if end == 'xxx' || end == 'yyy' | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | popup_move(id, {col: 1, | 
					
						
							|  |  |  | line: 2}) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | setwinvar(id, 'name', 3) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var d = [ | 
					
						
							|  |  |  | {a: 'x', | 
					
						
							|  |  |  | b: 'y'}, | 
					
						
							|  |  |  | FuncA(), | 
					
						
							|  |  |  | FuncB(), | 
					
						
							|  |  |  | ] | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var ll = [[ | 
					
						
							|  |  |  | 1, | 
					
						
							|  |  |  | 2, | 
					
						
							|  |  |  | 3], [ | 
					
						
							|  |  |  | 4, | 
					
						
							|  |  |  | 5, | 
					
						
							|  |  |  | 6], [ | 
					
						
							|  |  |  | 7, | 
					
						
							|  |  |  | 8, | 
					
						
							|  |  |  | 9]] | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var ld = [{ | 
					
						
							|  |  |  | a: 'xxx', | 
					
						
							|  |  |  | b: 'yyy'}, { | 
					
						
							|  |  |  | c: 'xxx', | 
					
						
							|  |  |  | d: 'yyy'}, { | 
					
						
							|  |  |  | e: 'xxx', | 
					
						
							|  |  |  | f: 'yyy'}, { | 
					
						
							|  |  |  | }] | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var d = { | 
					
						
							|  |  |  | a: { | 
					
						
							|  |  |  | b: { | 
					
						
							|  |  |  | c: [{ | 
					
						
							|  |  |  | d: 'e', | 
					
						
							|  |  |  | f: 'g', | 
					
						
							|  |  |  | h: 'i' | 
					
						
							|  |  |  | }], | 
					
						
							|  |  |  | j: 'k', | 
					
						
							|  |  |  | }, | 
					
						
							|  |  |  | }, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | var end: any | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | end = 0 | 
					
						
							|  |  |  | elseif true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
											  
											
												Updated runtime files
This is a collection of various PRs from github that all require a minor
patch number:
1) https://github.com/vim/vim/pull/12612
    Do not conflate dictionary key with end of block
2) https://github.com/vim/vim/pull/12729:
    When saving and restoring 'undolevels', the constructs `&undolevels` and
    `:set undolevels` are problematic.
    The construct `&undolevels` reads an unpredictable value; it will be the
    local option value (if one has been set), or the global option value
    (otherwise), making it unsuitable for saving a value for later
    restoration.
    Similarly, if a local option value has been set for 'undolevels',
    temporarily modifying the option via `:set undolevels` changes the local
    value as well as the global value, requiring extra work to restore both
    values.
    Saving and restoring the option value in one step via the construct
    `:let &undolevels = &undolevels` appears to make no changes to the
    'undolevels' option, but if a local option has been set to a different
    value than the global option, it has the unintended effect of changing
    the global 'undolevels' value to the local value.
    Update the documentation to explain these issues and recommend explicit
    use of global and local option values when saving and restoring.  Update
    some unit tests to use `g:undolevels`.
3) https://github.com/vim/vim/pull/12702:
    Problem:    Pip requirements files are not recognized.
    Solution:   Add a pattern to match pip requirements files.
4) https://github.com/vim/vim/pull/12688:
    Add indent file and tests for ABB Rapid
5) https://github.com/vim/vim/pull/12668:
    Use Lua 5.1 numeric escapes in tests and add to CI
    Only Lua 5.2+ and LuaJIT understand hexadecimal escapes in strings.  Lua
    5.1 only supports decimal escapes:
    > A character in a string can also be specified by its numerical value
    > using the escape sequence \ddd, where ddd is a sequence of up to three
    > decimal digits. (Note that if a numerical escape is to be followed by a
    > digit, it must be expressed using exactly three digits.) Strings in Lua
    > can contain any 8-bit value, including embedded zeros, which can be
    > specified as '\0'.
    To make sure this works with Lua 5.4 and Lua 5.1 change the Vim CI to
    run with Lua 5.1 as well as Lua 5.4
6) https://github.com/vim/vim/pull/12631:
    Add hurl filetype detection
7) https://github.com/vim/vim/pull/12573:
    Problem:   Files for haskell persistent library are not recognized
    Solution:  Add pattern persistentmodels for haskell persistent library
closes: #12612
closes: #12729
closes: #12702
closes: #12688
closes: #12668
closes: #12631
closes: #12573
Co-authored-by: lacygoill <lacygoill@lacygoill.me>
Co-authored-by: Michael Henry <drmikehenry@drmikehenry.com>
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
Co-authored-by: James McCoy <jamessan@jamessan.com>
Co-authored-by: Jacob Pfeifer <jacob@pfeifer.dev>
Co-authored-by: Borys Lykah <lykahb@fastmail.com>
											
										 
											2023-08-10 05:44:25 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | var d = { | 
					
						
							|  |  |  | end: 0} | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2022-09-27 17:30:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | nunmap <buffer> ( | 
					
						
							|  |  |  | nunmap <buffer> ) | 
					
						
							|  |  |  | inoremap [ { | 
					
						
							|  |  |  | inoremap ] } | 
					
						
							|  |  |  | silent! xunmap i{ | 
					
						
							|  |  |  | silent! xunmap a{ | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func( | 
					
						
							|  |  |  | s: string, | 
					
						
							|  |  |  | n = 1, | 
					
						
							|  |  |  | m = 2 | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var h =<< END | 
					
						
							|  |  |  | text | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | var h =<< END | 
					
						
							|  |  |  | text | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | echo 'test' | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Foo() | 
					
						
							|  |  |  | lcd - | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | def Bar() | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | n = Func(1, 2, | 
					
						
							|  |  |  | 3) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func(s: string, | 
					
						
							|  |  |  | n: number): bool | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | return false | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func( | 
					
						
							|  |  |  | n: number) | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_AT  this-line | 
					
						
							|  |  |  | def Func( | 
					
						
							|  |  |  | 	n: number) | 
					
						
							|  |  |  |     # | 
					
						
							|  |  |  | echo  # this-line | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | normal! == | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var d = { | 
					
						
							|  |  |  | a: () => true, | 
					
						
							|  |  |  | b: () => true | 
					
						
							|  |  |  | && true | 
					
						
							|  |  |  | && Foo(), | 
					
						
							|  |  |  | c: () => Bar(), | 
					
						
							|  |  |  | e: () => Baz(), | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any)) | 
					
						
							|  |  |  | return (Emit: func(any)) => { | 
					
						
							|  |  |  | Cont((t: any) => { | 
					
						
							|  |  |  | if Pred(t) | 
					
						
							|  |  |  | Emit(t) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_EXE let g:vim_indent = {'more_in_bracket_block': v:true} | 
					
						
							|  |  |  | def Select(Cont: func(func(any)), Pred: func(any): bool): func(func(any)) | 
					
						
							|  |  |  | return (Emit: func(any)) => { | 
					
						
							|  |  |  | Cont((t: any) => { | 
					
						
							|  |  |  | if Pred(t) | 
					
						
							|  |  |  | Emit(t) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | " INDENT_EXE unlet! g:vim_indent | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | g:lightline = { | 
					
						
							|  |  |  | 'active': { | 
					
						
							|  |  |  | 'left': [ [ 'mode', 'paste' ], [ 'readonly', 'relativepath', 'modified' ] ], | 
					
						
							|  |  |  | }, | 
					
						
							|  |  |  | 'inactive': { | 
					
						
							|  |  |  | 'left': [ [ 'readonly', 'relativepath', 'modified' ] ], | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if getline(1, 10) | 
					
						
							|  |  |  | ->map((_, v: string): number => strcharlen(v)) | 
					
						
							|  |  |  | ->max() > 1'000 | 
					
						
							|  |  |  | &l:breakindent = false | 
					
						
							|  |  |  | &l:linebreak = false | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | &l:breakindent = true | 
					
						
							|  |  |  | &l:linebreak = true | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var ext2cmd: dict<string> = { | 
					
						
							|  |  |  | doc: $'antiword {fname}', | 
					
						
							|  |  |  | docx: $'pandoc --from=docx --to=markdown {fname}', | 
					
						
							|  |  |  | epub: $'pandoc --from=epub --to=markdown {fname}', | 
					
						
							|  |  |  | odp: $'odt2txt {fname}', | 
					
						
							|  |  |  | odt: $'odt2txt {fname}', | 
					
						
							|  |  |  | pdf: $'pdftotext -nopgbrk -layout -q -eol unix {fname} -', | 
					
						
							|  |  |  | rtf: 'unrtf --text', | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | const ptybuf: number = term_start(&shell, { | 
					
						
							|  |  |  | hidden: true, | 
					
						
							|  |  |  | exit_cb: (_, _) => { | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | close | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | help | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var d = { | 
					
						
							|  |  |  | a: 0, | 
					
						
							|  |  |  | # a ' quote {{{ | 
					
						
							|  |  |  | #}}} | 
					
						
							|  |  |  | b: 0, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo printf('%s () %s', | 
					
						
							|  |  |  | 1, | 
					
						
							|  |  |  | 2 | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | prop_add(1, col('.'), { | 
					
						
							|  |  |  | length: 2, | 
					
						
							|  |  |  | type: 'test' | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo (() => " string starting with space")() | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var variables = deepcopy(g:) | 
					
						
							|  |  |  | ->filter((k: string, _): bool => | 
					
						
							|  |  |  | k =~ '\c\V' .. keyword->escape('\') | 
					
						
							|  |  |  | && k !~ '\%(loaded\|did_plugin_\)') | 
					
						
							|  |  |  | ->items() | 
					
						
							|  |  |  | ->map((_, v): string => v[0] .. ' = ' .. string(v[1])) | 
					
						
							|  |  |  | new | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var d = freq | 
					
						
							|  |  |  | ->map((_, v) => | 
					
						
							|  |  |  | v * ( | 
					
						
							|  |  |  | 1 | 
					
						
							|  |  |  | + 2 | 
					
						
							|  |  |  | )) | 
					
						
							|  |  |  | for item in d | 
					
						
							|  |  |  | ->items() | 
					
						
							|  |  |  | ->sort((a, b) => b[1] - a[1]) | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endfor | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | make_job = job_start([&shell, &shellcmdflag, make_cmd], { | 
					
						
							|  |  |  | callback: function(MakeProcessOutput, [qfid]), | 
					
						
							|  |  |  | close_cb: function(MakeCloseCb, [qfid]), | 
					
						
							|  |  |  | exit_cb: MakeCompleted, | 
					
						
							|  |  |  | in_io: 'null' | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var matching_abbrev: list<dict<string>> = copy(ABBREV) | 
					
						
							|  |  |  | ->filter((_, v: dict<string>): bool => | 
					
						
							|  |  |  | stridx(v.lhs, word_to_complete) == 0) | 
					
						
							|  |  |  | ->map((_, v: dict<string>) => ({ | 
					
						
							|  |  |  | word: v.lhs, | 
					
						
							|  |  |  | menu: AbbrevRhs(v.rhs)->stridx('expand_') >= 0 | 
					
						
							|  |  |  | ?    AbbrevRhs(v.rhs)->matchstr('.*,\s*''\zs.*\ze'')') | 
					
						
							|  |  |  | :    AbbrevRhs(v.rhs) | 
					
						
							|  |  |  | })) | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | vimgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | setlocal iskeyword+=[ | 
					
						
							|  |  |  | cword = expand('<cword>') | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | silent if true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | sort :^.*[\/]: | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | d = { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | hd =<< trim END | 
					
						
							|  |  |  | [' | 
					
						
							|  |  |  | ]' | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Func() | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | var hd =<< trim END | 
					
						
							|  |  |  | if get(b:, 'current_syntax', '') | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | END | 
					
						
							|  |  |  | elseif true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | # test for control-flow keyword followed by commented fold marker {{{ | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif #}}} | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if winsz == 0|let winsz= ""|endif | 
					
						
							|  |  |  | exe "noswapfile ".winsz."wincmd s" | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | windo if true | echo | endif | 
					
						
							|  |  |  | augroup Name | 
					
						
							|  |  |  | autocmd WinLeave * if true | eval 1 + 2 | endif | 
					
						
							|  |  |  | augroup END | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | echo ' =<< trim END' | 
					
						
							|  |  |  | ->len() | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | function Func() | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | if true | echo com | endif | 
					
						
							|  |  |  | if true | echo com | endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endfunction | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | function Func() | 
					
						
							|  |  |  | if v:true | 
					
						
							|  |  |  | + | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | - | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endfunction | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | var matchpairs: string = &matchpairs | 
					
						
							|  |  |  | var pairs: dict<list<string>> | 
					
						
							|  |  |  | for [opening: string, closing: string] | 
					
						
							|  |  |  | in matchpairs | 
					
						
							|  |  |  | ->split(',') | 
					
						
							|  |  |  | ->map((_, v: string): list<string> => split(v, ':')) | 
					
						
							|  |  |  | pairs[opening] = [escape(opening, '[]'), escape(closing, '[]'),  'nW', 'w$'] | 
					
						
							|  |  |  | pairs[closing] = [escape(opening, '[]'), escape(closing, '[]'), 'bnW', 'w0'] | 
					
						
							|  |  |  | endfor | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | echo [] | 
					
						
							|  |  |  | + [] | 
					
						
							|  |  |  | + [{a: 1, | 
					
						
							|  |  |  | b: 2}] | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | silent! argdel * | 
					
						
							|  |  |  | edit file | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2022-10-03 18:04:35 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | def Foo() | 
					
						
							|  |  |  | Bar(1, | 
					
						
							|  |  |  | []->filter((_, v) => { | 
					
						
							|  |  |  | return true | 
					
						
							|  |  |  | }), | 
					
						
							|  |  |  | () => { | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2022-10-16 13:11:12 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | echo { | 
					
						
							|  |  |  | k: () => { | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | popup_setoptions(id, | 
					
						
							|  |  |  | {title: 'title'}) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if true | 
					
						
							|  |  |  | elseif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							| 
									
										
										
										
											2023-02-02 13:59:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | if ( | 
					
						
							|  |  |  | true) | 
					
						
							|  |  |  | && true | 
					
						
							|  |  |  | echo | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | abstract class Shape | 
					
						
							|  |  |  | this.color = Color.Black | 
					
						
							|  |  |  | this.thickness = 10 | 
					
						
							|  |  |  | endclass | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | class OtherThing | 
					
						
							|  |  |  | this.size: number | 
					
						
							|  |  |  | static totalSize: number | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static def ClearTotalSize(): number | 
					
						
							|  |  |  | var prev = totalSize | 
					
						
							|  |  |  | totalSize = 0 | 
					
						
							|  |  |  | return prev | 
					
						
							|  |  |  | enddef | 
					
						
							|  |  |  | endclass | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | interface HasSurface | 
					
						
							|  |  |  | this.size: number | 
					
						
							|  |  |  | def Surface(): number | 
					
						
							|  |  |  | endinterface | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | interface EnterExit | 
					
						
							|  |  |  | def Enter(): void | 
					
						
							|  |  |  | def Exit(): void | 
					
						
							|  |  |  | endinterface | 
					
						
							|  |  |  | " END_INDENT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " START_INDENT | 
					
						
							|  |  |  | enum Color | 
					
						
							|  |  |  | White | 
					
						
							|  |  |  | Red | 
					
						
							|  |  |  | Green | 
					
						
							|  |  |  | Blue | 
					
						
							|  |  |  | Black | 
					
						
							|  |  |  | endenum | 
					
						
							|  |  |  | " END_INDENT |