diff options
Diffstat (limited to 'mnv/runtime/indent/testdir/mnv9.in')
| -rw-r--r-- | mnv/runtime/indent/testdir/mnv9.in | 795 |
1 files changed, 795 insertions, 0 deletions
diff --git a/mnv/runtime/indent/testdir/mnv9.in b/mnv/runtime/indent/testdir/mnv9.in new file mode 100644 index 0000000000..1e5fe084fd --- /dev/null +++ b/mnv/runtime/indent/testdir/mnv9.in @@ -0,0 +1,795 @@ +mnv9script +# mnv: set ft=mnv sw=4 : + +# START_INDENT +# INDENT_EXE let g:mnv_indent = {'searchpair_timeout': 8192} +# INDENT_EXE runtime autoload/dist/mnvindent.mnv +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 +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 +def Func() +Cmd % +enddef +# 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 +if true +var d = { +end: 0} +endif +# 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:mnv_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 let g:mnv_indent = {'searchpair_timeout': 8192} +# 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 +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 +mnvgrep /^\C\s*\%(fu\%[nction]\|def\)\s\+/ file +endif +enddef +# 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 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 +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 +def Foo() +Bar(1, +[]->filter((_, v) => { +return true +}), +() => { +echo +}) +enddef +# END_INDENT + +# START_INDENT +echo { +k: () => { +if true +echo +popup_setoptions(id, +{title: 'title'}) +endif +} +} +# END_INDENT + +# START_INDENT +if true +elseif +endif +# END_INDENT + +# START_INDENT +if ( +true) +&& true +echo +endif +# END_INDENT + +# START_INDENT +abstract class Shape +var color = Color.Black +var thickness = 10 +endclass +# END_INDENT + +# START_INDENT +class OtherThing +var size: number +static var totalSize: number + +static def ClearTotalSize(): number +var prev = totalSize +totalSize = 0 +return prev +enddef +endclass +# END_INDENT + +# START_INDENT +interface HasSurface +var 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 + +# START_INDENT +enum Digits +INVALID(v:numbermax), # The null value. +ZERO(0 * v:numbermin), ONE(2 - 1), +TWO(1 + 1), THREE(9 / 3), FOUR(1 * 4), +FIVE(1 + 2 + 2), SIX(36 / 3 / 2), SEVEN(7), EIGHT(2 * 2 * 2), +NINE(3 + 3 + 3) +const value: number +def new(value: number) +this.value = value +enddef +endenum +# END_INDENT + +# START_INDENT +def ToggleBoolOpt(opt: string) +exe $"&{opt} = !&{opt}" +$"&{opt}" +->eval() +->( (v) => v ? "ON" : "OFF" )() +->printf($"{opt} %s") +->popup_notification({}) +enddef +# END_INDENT |
