" vim: set ft=vim sw=4 :

" START_INDENT

func Some()
    let x = 1
endfunc

let cmd =
	    \ 'some '
	    \ 'string'

if 1
    let x = [
		\ ]
endif

" TODO: add searchpair() to find matching {
"for x in [
"{
"key: 'value'
"},
"]
"eval 0
"endfor

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
" INDENT_AT  this-line
let a=<< trim END
   blah
      blah
      blah this-line
END
" END_INDENT
