|
37 | 37 | endfunction
|
38 | 38 | endif
|
39 | 39 |
|
40 |
| -let s:expr_case = '\<\%(\%(case\>\s*[^[:blank:]:].\{-}\)\|default\)\s*:\C' |
| 40 | +let s:case_stmt = '\<\%(\%(case\>\s*[^[:blank:]:].\{-}\)\|default\)\s*:\C' |
| 41 | + |
41 | 42 | " Regex of syntax group names that are or delimit string or are comments.
|
42 | 43 | let s:syng_strcom = '\%(s\%(tring\|pecial\)\|comment\|regex\|doc\|template\)'
|
43 | 44 | " Expression used to check whether we should skip a match with searchpair().
|
44 | 45 | let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
45 | 46 | function s:skip_func(lnum)
|
46 |
| - if !s:free || search('`','nW',a:lnum) || search('\*\/','nW',a:lnum) |
| 47 | + if !s:free || search('`\|\%(\*\/\)','nW',a:lnum) |
47 | 48 | let s:free = !eval(s:skip_expr . " . '\\|html'")
|
48 | 49 | let s:looksyn = s:free ? line('.') : s:looksyn
|
49 | 50 | return !s:free
|
@@ -145,7 +146,7 @@ function s:IsBlock(...)
|
145 | 146 | elseif char == '>'
|
146 | 147 | return getline('.')[col('.')-2] == '=' || syn =~? '^jsflow'
|
147 | 148 | elseif char == ':'
|
148 |
| - return cursor(0,match(' ' . strpart(getline('.'),0,col('.')),'.*\zs' . s:expr_case . '$')) + 1 && |
| 149 | + return cursor(0,match(' ' . strpart(getline('.'),0,col('.')),'.*\zs' . s:case_stmt . '$')) + 1 && |
149 | 150 | \ (expand('<cword>') !=# 'default' || s:previous_token() !~ '[,{]')
|
150 | 151 | endif
|
151 | 152 | return index(split('return const let import export yield default delete var void typeof throw new in instanceof'
|
@@ -244,10 +245,10 @@ function GetJavascriptIndent()
|
244 | 245 | if s:current_char() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 && s:previous_token() ==# 'switch'
|
245 | 246 | let switch_offset = &cino !~ ':' || !has('float') ? s:W :
|
246 | 247 | \ float2nr(str2float(matchstr(&cino,'.*:\zs[-0-9.]*')) * (&cino =~# '.*:[^,]*s' ? s:W : 1))
|
247 |
| - if l:line =~# '^' . s:expr_case |
| 248 | + if l:line =~# '^' . s:case_stmt |
248 | 249 | return indent(num) + switch_offset
|
249 | 250 | endif
|
250 |
| - let stmt = pline !~# s:expr_case . '$' |
| 251 | + let stmt = pline !~# s:case_stmt . '$' |
251 | 252 | endif
|
252 | 253 | endif
|
253 | 254 |
|
|
0 commit comments