diff --git a/indent/javascript.vim b/indent/javascript.vim index aee8e2c3..3ec4abe6 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -48,11 +48,13 @@ let s:syng_comment = '\%(comment\|doc\)' " Expression used to check whether we should skip a match with searchpair(). let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" function s:skip_func(lnum) - if !s:free || getline(line('.')) =~ '[''/"\\]' || search('`','nW',a:lnum) || search('\*\/','nW',a:lnum) + if !s:free || search('`','nW',a:lnum) || search('\*\/','nW',a:lnum) let s:free = !eval(s:skip_expr) + let s:looksyn = s:free ? line('.') : s:looksyn + return !s:free endif - let s:looksyn = s:free ? line('.') : s:looksyn - return !s:free + let s:looksyn = line('.') + return getline(line('.')) =~ '[''/"\\]' && eval(s:skip_expr) endfunction if has('reltime')