diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-09-27 17:30:34 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-09-27 17:30:34 +0100 |
commit | 9fbdbb814f4ad67a14979aba4a6a49800c2f1a99 (patch) | |
tree | cbf6e2990b41ad67092e529497df96bd9199e353 /runtime/indent/testdir | |
parent | 26f09ea54b2c60abf21df42c60bdfc60eca17b0d (diff) |
Update runtime files
Diffstat (limited to 'runtime/indent/testdir')
-rw-r--r-- | runtime/indent/testdir/vim.in | 778 | ||||
-rw-r--r-- | runtime/indent/testdir/vim.ok | 778 |
2 files changed, 1524 insertions, 32 deletions
diff --git a/runtime/indent/testdir/vim.in b/runtime/indent/testdir/vim.in index 5eb262f50a..0582a930e6 100644 --- a/runtime/indent/testdir/vim.in +++ b/runtime/indent/testdir/vim.in @@ -1,7 +1,6 @@ " vim: set ft=vim sw=4 : " START_INDENT - func Some() let x = 1 endfunc @@ -15,15 +14,6 @@ let x = [ \ ] endif -" TODO: add searchpair() to find matching { -"for x in [ -"{ -"key: 'value' -"}, -"] -"eval 0 -"endfor - for x in [ {key: 'value'}, ] @@ -37,12 +27,11 @@ let t = [ \ ] def Func() - var d = dd - ->extend({ - }) - eval 0 +var d = dd +->extend({ +}) +eval 0 enddef - " END_INDENT " START_INDENT @@ -84,7 +73,7 @@ endfunc " START_INDENT " INDENT_NEXT next-line func Some() - " next-line + " next-line let f = x endfunc " END_INDENT @@ -104,6 +93,12 @@ END " END_INDENT " START_INDENT +let a =<< trim END +nothing +END +" END_INDENT + +" START_INDENT " INDENT_AT this-line let a=<< trim END blah @@ -111,3 +106,754 @@ let a=<< trim END blah this-line END " END_INDENT + +" 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 + +" 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 diff --git a/runtime/indent/testdir/vim.ok b/runtime/indent/testdir/vim.ok index 932eebef43..39efdbaace 100644 --- a/runtime/indent/testdir/vim.ok +++ b/runtime/indent/testdir/vim.ok @@ -1,7 +1,6 @@ " vim: set ft=vim sw=4 : " START_INDENT - func Some() let x = 1 endfunc @@ -15,15 +14,6 @@ if 1 \ ] endif -" TODO: add searchpair() to find matching { -"for x in [ -"{ -"key: 'value' -"}, -"] -"eval 0 -"endfor - for x in [ {key: 'value'}, ] @@ -38,11 +28,10 @@ let t = [ def Func() var d = dd - ->extend({ - }) + ->extend({ + }) eval 0 enddef - " END_INDENT " START_INDENT @@ -69,7 +58,7 @@ let list = [ let list = [ 'one', 'two', - ] +] echo " END_INDENT @@ -84,8 +73,8 @@ endfunc " START_INDENT " INDENT_NEXT next-line func Some() - " next-line - let f = x + " next-line + let f = x endfunc " END_INDENT @@ -99,6 +88,12 @@ endfunc " START_INDENT let a =<< END +nothing +END +" END_INDENT + +" START_INDENT +let a =<< trim END nothing END " END_INDENT @@ -111,3 +106,754 @@ let a=<< trim END blah this-line END " END_INDENT + +" 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 + +" 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 + i |