mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-10 12:33:51 -05:00
Update
This commit is contained in:
@@ -8,6 +8,32 @@ let b:did_indent = 1
|
||||
setlocal cindent
|
||||
setlocal cinoptions+=j1,J1
|
||||
|
||||
setlocal indentexpr=DartIndent()
|
||||
|
||||
let b:undo_indent = 'setl cin< cino<'
|
||||
|
||||
if exists("*DartIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function! DartIndent()
|
||||
" Default to cindent in most cases
|
||||
let indentTo = cindent(v:lnum)
|
||||
|
||||
let previousLine = getline(prevnonblank(v:lnum - 1))
|
||||
let currentLine = getline(v:lnum)
|
||||
|
||||
" Don't indent after an annotation
|
||||
if previousLine =~# '^\s*@.*$'
|
||||
let indentTo = indent(v:lnum - 1)
|
||||
endif
|
||||
|
||||
" Indent after opening List literal
|
||||
if previousLine =~# '\[$' && !(currentLine =~# '^\s*\]')
|
||||
let indentTo = indent(v:lnum - 1) + &shiftwidth
|
||||
endif
|
||||
|
||||
return indentTo
|
||||
endfunction
|
||||
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user