comparison runtime/indent/scala.vim @ 25700:d4faa2c5211b

Update runtime files Commit: https://github.com/vim/vim/commit/89a9c159f23fb7b3e24e6d09068adfc24a73afcb Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 29 21:55:35 2021 +0200 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 29 Aug 2021 22:00:05 +0200
parents d0a20101ecb2
children 5c220cf30f1f
comparison
equal deleted inserted replaced
25699:8088e687c3d7 25700:d4faa2c5211b
18 finish 18 finish
19 endif 19 endif
20 let s:keepcpo= &cpo 20 let s:keepcpo= &cpo
21 set cpo&vim 21 set cpo&vim
22 22
23 let s:defMatcher = '\%(\%(private\|protected\)\%(\[[^\]]*\]\)\?\s\+\|abstract\s\+\|override\s\+\)*\<def\>' 23 let s:annotationMatcher = '@[A-Za-z._]\+\s\+'
24 let s:modifierMatcher = s:annotationMatcher . '\|\%(private\|protected\)\%(\[[^\]]*\]\)\?\s\+\|abstract\s\+\|override\s\+\|final\s\+'
25 let s:defMatcher = '\%(' . s:modifierMatcher . '\)*\<def\>'
26 let s:valMatcher = '\%(' . s:modifierMatcher . '\|lazy\s\+\)*\<va[lr]\>'
24 let s:funcNameMatcher = '\w\+' 27 let s:funcNameMatcher = '\w\+'
25 let s:typeSpecMatcher = '\%(\s*\[\_[^\]]*\]\)' 28 let s:typeSpecMatcher = '\%(\s*\[\_[^\]]*\]\)'
26 let s:defArgMatcher = '\%((\_.\{-})\)' 29 let s:defArgMatcher = '\%((\_.\{-})\)'
27 let s:returnTypeMatcher = '\%(:\s*\w\+' . s:typeSpecMatcher . '\?\)' 30 let s:returnTypeMatcher = '\%(:\s*\w\+' . s:typeSpecMatcher . '\?\)'
28 let g:fullDefMatcher = '^\s*' . s:defMatcher . '\s\+' . s:funcNameMatcher . '\s*' . s:typeSpecMatcher . '\?\s*' . s:defArgMatcher . '\?\s*' . s:returnTypeMatcher . '\?\s*[={]' 31 let g:fullDefMatcher = '^\s*' . s:defMatcher . '\s\+' . s:funcNameMatcher . '\s*' . s:typeSpecMatcher . '\?\s*' . s:defArgMatcher . '\?\s*' . s:returnTypeMatcher . '\?\s*[={]'
182 endwhile 185 endwhile
183 return groupCount 186 return groupCount
184 endfunction 187 endfunction
185 188
186 function! scala#MatchesIncompleteDefValr(line) 189 function! scala#MatchesIncompleteDefValr(line)
187 if a:line =~ '^\s*\%(' . s:defMatcher . '\|\<va[lr]\>\).*[=({]\s*$' 190 if a:line =~ '^\s*\%(' . s:defMatcher . '\|' . s:valMatcher . '\).*[=({]\s*$'
188 return 1 191 return 1
189 else 192 else
190 return 0 193 return 0
191 endif 194 endif
192 endfunction 195 endfunction
432 " Add a shiftwidth()' after lines that start a block 435 " Add a shiftwidth()' after lines that start a block
433 " If 'if', 'for' or 'while' end with ), this is a one-line block 436 " If 'if', 'for' or 'while' end with ), this is a one-line block
434 " If 'val', 'var', 'def' end with =, this is a one-line block 437 " If 'val', 'var', 'def' end with =, this is a one-line block
435 if (prevline =~ '^\s*\<\%(\%(}\?\s*else\s\+\)\?if\|for\|while\)\>.*[)=]\s*$' && scala#NumberOfBraceGroups(prevline) <= 1) 438 if (prevline =~ '^\s*\<\%(\%(}\?\s*else\s\+\)\?if\|for\|while\)\>.*[)=]\s*$' && scala#NumberOfBraceGroups(prevline) <= 1)
436 \ || prevline =~ '^\s*' . s:defMatcher . '.*=\s*$' 439 \ || prevline =~ '^\s*' . s:defMatcher . '.*=\s*$'
437 \ || prevline =~ '^\s*\<va[lr]\>.*[=]\s*$' 440 \ || prevline =~ '^\s*' . s:valMatcher . '.*[=]\s*$'
438 \ || prevline =~ '^\s*\%(}\s*\)\?\<else\>\s*$' 441 \ || prevline =~ '^\s*\%(}\s*\)\?\<else\>\s*$'
439 \ || prevline =~ '=\s*$' 442 \ || prevline =~ '=\s*$'
440 call scala#ConditionalConfirm("4") 443 call scala#ConditionalConfirm("4")
441 let ind = ind + shiftwidth() 444 let ind = ind + shiftwidth()
442 elseif prevline =~ '^\s*\<\%(}\?\s*else\s\+\)\?if\>' && curline =~ '^\s*}\?\s*\<else\>' 445 elseif prevline =~ '^\s*\<\%(}\?\s*else\s\+\)\?if\>' && curline =~ '^\s*}\?\s*\<else\>'