summaryrefslogtreecommitdiffstats
path: root/runtime/indent/testdir/vim.ok
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/indent/testdir/vim.ok')
-rw-r--r--runtime/indent/testdir/vim.ok941
1 files changed, 941 insertions, 0 deletions
diff --git a/runtime/indent/testdir/vim.ok b/runtime/indent/testdir/vim.ok
new file mode 100644
index 0000000..57f0dbf
--- /dev/null
+++ b/runtime/indent/testdir/vim.ok
@@ -0,0 +1,941 @@
+" vim: set ft=vim sw=4 :
+
+" START_INDENT
+func Some()
+ let x = 1
+endfunc
+
+let cmd =
+ \ 'some '
+ \ 'string'
+
+if 1
+ let x = [
+ \ ]
+endif
+
+for x in [
+ {key: 'value'},
+ ]
+ eval 0
+endfor
+
+let t = [
+ \ {
+ \ 'k': 'val',
+ \ },
+ \ ]
+
+def Func()
+ var d = dd
+ ->extend({
+ })
+ eval 0
+enddef
+" END_INDENT
+
+" START_INDENT
+" INDENT_EXE let g:vim_indent_cont = 6
+
+let cmd =
+ \ 'some '
+ \ 'string'
+
+" END_INDENT
+
+" START_INDENT
+" INDENT_EXE let g:vim_indent_cont = 5
+
+let list = [
+ \ 'one',
+ \ 'two']
+
+" END_INDENT
+
+" START_INDENT
+" INDENT_EXE unlet g:vim_indent_cont
+
+let list = [
+ 'one',
+ 'two',
+]
+echo
+
+" END_INDENT
+
+" START_INDENT
+" INDENT_AT this-line
+func Some()
+ let f = x " this-line
+endfunc
+" END_INDENT
+
+" START_INDENT
+" INDENT_NEXT next-line
+func Some()
+ " next-line
+ let f = x
+endfunc
+" END_INDENT
+
+" START_INDENT
+" INDENT_PREV prev-line
+func Some()
+ let f = x
+" prev-line
+endfunc
+" END_INDENT
+
+" START_INDENT
+let a =<< END
+nothing
+END
+" END_INDENT
+
+" START_INDENT
+let a =<< trim END
+ nothing
+END
+" END_INDENT
+
+" START_INDENT
+" INDENT_AT this-line
+let a=<< trim END
+ blah
+ blah
+ 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
+
+" 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
+ 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