mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-14 06:23:50 -05:00
Update
This commit is contained in:
@@ -37,20 +37,21 @@ function! GoIndent(lnum)
|
||||
let previ = indent(prevlnum)
|
||||
|
||||
let ind = previ
|
||||
let s:shiftwidth = shiftwidth()
|
||||
|
||||
if prevl =~ '[({]\s*$'
|
||||
" previous line opened a block
|
||||
let ind += &sw
|
||||
let ind += s:shiftwidth
|
||||
endif
|
||||
if prevl =~# '^\s*\(case .*\|default\):$'
|
||||
" previous line is part of a switch statement
|
||||
let ind += &sw
|
||||
let ind += s:shiftwidth
|
||||
endif
|
||||
" TODO: handle if the previous line is a label.
|
||||
|
||||
if thisl =~ '^\s*[)}]'
|
||||
" this line closed a block
|
||||
let ind -= &sw
|
||||
let ind -= s:shiftwidth
|
||||
endif
|
||||
|
||||
" Colons are tricky.
|
||||
@@ -58,7 +59,7 @@ function! GoIndent(lnum)
|
||||
" We ignore trying to deal with jump labels because (a) they're rare, and
|
||||
" (b) they're hard to disambiguate from a composite literal key.
|
||||
if thisl =~# '^\s*\(case .*\|default\):$'
|
||||
let ind -= &sw
|
||||
let ind -= s:shiftwidth
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
@@ -49,11 +49,11 @@ let s:skip_expr = "synIDattr(synID(line('.'),col('.'),1),'name') =~ '".s:syng_st
|
||||
let s:line_term = '\s*\%(\%(\/\/\).*\)\=$'
|
||||
|
||||
" Regex that defines continuation lines, not including (, {, or [.
|
||||
let s:continuation_regex = '\%([\\*+/.:]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)' . s:line_term
|
||||
let s:continuation_regex = '\%([\\*+/.:]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\|[^=]=[^=].*,\)' . s:line_term
|
||||
|
||||
" Regex that defines continuation lines.
|
||||
" TODO: this needs to deal with if ...: and so on
|
||||
let s:msl_regex = '\%([\\*+/.:([]\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)' . s:line_term
|
||||
let s:msl_regex = s:continuation_regex
|
||||
|
||||
let s:one_line_scope_regex = '\<\%(if\|else\|for\|while\)\>[^{;]*' . s:line_term
|
||||
|
||||
|
||||
@@ -9,13 +9,9 @@ if exists("b:did_indent")
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetScalaIndent()
|
||||
setlocal indentkeys=0{,0},0),!^F,<>>,o,O,e,=case,<CR>
|
||||
setlocal autoindent
|
||||
setlocal softtabstop=2
|
||||
setlocal tabstop=2
|
||||
setlocal shiftwidth=2
|
||||
setlocal expandtab
|
||||
|
||||
if exists("*GetScalaIndent")
|
||||
finish
|
||||
@@ -543,7 +539,7 @@ function! GetScalaIndent()
|
||||
let ind = ind - 1
|
||||
endif
|
||||
|
||||
if scala#LineEndsInIncomplete(curline)
|
||||
if scala#LineEndsInIncomplete(prevline)
|
||||
call scala#ConditionalConfirm("19")
|
||||
return ind
|
||||
endif
|
||||
@@ -597,5 +593,6 @@ function! GetScalaIndent()
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
" vim:set ts=2 sts=2 sw=2:
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 et:
|
||||
" vim600:fdm=marker fdl=1 fdc=0:
|
||||
|
||||
Reference in New Issue
Block a user