diff options
Diffstat (limited to 'indent/scala.vim')
| -rw-r--r-- | indent/scala.vim | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/indent/scala.vim b/indent/scala.vim index db52cf90..2fcb3378 100644 --- a/indent/scala.vim +++ b/indent/scala.vim @@ -21,7 +21,10 @@ if exists("*GetScalaIndent")    finish  endif -let s:defMatcher = '\%(\%(private\|protected\)\%(\[[^\]]*\]\)\?\s\+\|abstract\s\+\|override\s\+\)*\<def\>' +let s:annotationMatcher = '@[A-Za-z._]\+\s\+' +let s:modifierMatcher = s:annotationMatcher . '\|\%(private\|protected\)\%(\[[^\]]*\]\)\?\s\+\|abstract\s\+\|override\s\+\|final\s\+' +let s:defMatcher = '\%(' . s:modifierMatcher . '\)*\<def\>' +let s:valMatcher = '\%(' . s:modifierMatcher . '\|lazy\s\+\)*\<va[lr]\>'  let s:funcNameMatcher = '\w\+'  let s:typeSpecMatcher = '\%(\s*\[\_[^\]]*\]\)'  let s:defArgMatcher = '\%((\_.\{-})\)' @@ -185,7 +188,7 @@ function! scala#NumberOfBraceGroups(line)  endfunction  function! scala#MatchesIncompleteDefValr(line) -  if a:line =~ '^\s*\%(' . s:defMatcher . '\|\<va[lr]\>\).*[=({]\s*$' +  if a:line =~ '^\s*\%(' . s:defMatcher . '\|' . s:valMatcher . '\).*[=({]\s*$'      return 1    else      return 0 @@ -435,7 +438,7 @@ function! GetScalaIndent()    " If 'val', 'var', 'def' end with =, this is a one-line block    if (prevline =~ '^\s*\<\%(\%(}\?\s*else\s\+\)\?if\|for\|while\)\>.*[)=]\s*$' && scala#NumberOfBraceGroups(prevline) <= 1)          \ || prevline =~ '^\s*' . s:defMatcher . '.*=\s*$' -        \ || prevline =~ '^\s*\<va[lr]\>.*[=]\s*$' +        \ || prevline =~ '^\s*' . s:valMatcher . '.*[=]\s*$'          \ || prevline =~ '^\s*\%(}\s*\)\?\<else\>\s*$'          \ || prevline =~ '=\s*$'      call scala#ConditionalConfirm("4") | 
