|
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