diff --git a/indent/javascript.vim b/indent/javascript.vim index 6a477b7b..d6144a9b 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -383,9 +383,8 @@ function GetJavascriptIndent() if parlnum > 0 return !s:Match(parlnum, s:operator_first) ? indent(lnum) + s:sw() : indent(parlnum) end - elseif (counts[0] != '1' && counts[1] != '1' && counts[2] != '1') && - \ (!s:Match(s:PrevNonBlankNonString(lnum - 1), s:block_regex) || - \ s:Match(lnum, s:var_stmt)) + elseif line !~ s:line_pre . ',\s*\%(\%(\([''"]\).*\1\)\|\%(\h\w*\)\)\s*:.*' . s:line_term && + \ synIDattr(synID(v:lnum, 1, 1), 'name') !~? 'jsbracket\|jsparen' " otherwise, indent 1 level return indent(lnum) + s:sw() end