" 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