@@ -282,14 +282,11 @@ function s:IsContOne(num,cont)
282282 return b_l
283283endfunction
284284
285- function s: Class ()
286- return (s: Token () == # ' class' || s: PreviousToken () = ~# ' ^class$\|^extends$' ) &&
287- \ s: PreviousToken () != ' .'
288- endfunction
289-
290285function s: IsSwitch ()
291286 return s: PreviousToken () !~ ' [.*]' &&
292- \ (! s: GetPair (' {' ,' }' ,' cbW' ,s: skip_expr ) || s: IsBlock () && ! s: Class ())
287+ \ (! s: GetPair (' {' ,' }' ,' cbW' ,s: skip_expr ) || s: IsBlock () &&
288+ \ (s: Token () !=# ' class' && s: PreviousToken () !~# ' ^class$\|^extends$' ||
289+ \ s: PreviousToken () == ' .' ))
293290endfunction
294291
295292" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
@@ -406,8 +403,11 @@ function GetJavascriptIndent()
406403 let is_op = s: sw ()
407404 endif
408405 elseif num && sol = ~# ' ^\%(in\%(stanceof\)\=\|\*\)$'
409- call call (' cursor' ,b: js_cache [1 :])
410- if s: PreviousToken () = ~ ' \k' && s: Class ()
406+ call cursor (l: lnum , len (pline))
407+ if s: LookingAt () == ' }' && s: GetPair (' {' ,' }' ,' bW' ,s: skip_expr ) &&
408+ \ s: PreviousToken () == ' )' && s: GetPair (' (' ,' )' ,' bW' ,s: skip_expr ) &&
409+ \ (s: PreviousToken () == ' ]' || s: Token () = ~ ' \k' &&
410+ \ s: {s: PreviousToken () == ' *' ? ' Previous' : ' ' }Token () !=# ' function' )
411411 return num_ind + s: sw ()
412412 endif
413413 let is_op = s: sw ()
0 commit comments