summaryrefslogtreecommitdiffstats
path: root/indent/scala.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-07-01 16:25:37 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2019-07-01 16:25:37 +0200
commit140430ffb73d5e0851ba2df2abd29106b1677687 (patch)
tree686fc28a75cbcdddbfad4a2e93f0433614d182bc /indent/scala.vim
parentd52700284984ada048ce325404dfa25237271ba1 (diff)
downloadvim-polyglot-140430ffb73d5e0851ba2df2abd29106b1677687.tar.gz
vim-polyglot-140430ffb73d5e0851ba2df2abd29106b1677687.zip
Update
Diffstat (limited to 'indent/scala.vim')
-rw-r--r--indent/scala.vim9
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")