diff --git a/indent/javascript.vim b/indent/javascript.vim index 99e03ee7..22893fe6 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -33,15 +33,13 @@ set cpo&vim " ============ " Regex of syntax group names that are or delimit string or are comments. -let s:syng_strcom = '\' +let s:syng_strcom = 'javaScript\%(String\|RegexpString\|CommentTodo\|LineComment\|Comment\|DocComment\)' " Regex of syntax group names that are strings. -let s:syng_string = - \ '\' +let s:syng_string = 'javaScript\%(RegexpString\)' " Regex of syntax group names that are strings or documentation. -let s:syng_stringdoc = - \'\' +let s:syng_stringdoc = 'javaScriptDocComment' " Expression used to check whether we should skip a match with searchpair(). let s:skip_expr = "synIDattr(synID(line('.'),col('.'),1),'name') =~ '".s:syng_strcom."'" @@ -167,7 +165,7 @@ function s:IndentWithContinuation(lnum, ind, width) " TODO: the || s:IsInString() thing worries me a bit. if p_lnum != lnum if s:Match(p_lnum,s:continuation_regex)||s:IsInString(p_lnum,strlen(line)) - return a:ind + a:width + return a:ind endif endif diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 41fd77a8..cad75965 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -32,6 +32,7 @@ syntax sync fromstart "" JavaScript comments syntax keyword javaScriptCommentTodo TODO FIXME XXX TBD contained syntax region javaScriptLineComment start=+\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell +syntax region javaScriptEnvComment start="\%^#!" end="$" display syntax region javaScriptLineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell fold syntax region javaScriptCvsTag start="\$\cid:" end="\$" oneline contained syntax region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo,javaScriptCvsTag,@Spell fold @@ -71,7 +72,8 @@ syntax case match syntax match javaScriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\." syntax region javaScriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc syntax region javaScriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc -syntax region javaScriptRegexpString start=+\(\([)\]"']\|\d\|\w\)\s*\)\@\|\<0[xX]\x\+\>/ syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/ syntax match javaScriptLabel /\(?\s*\)\@= 508 || !exists("did_javascript_syn_inits") endif HiLink javaScriptComment Comment HiLink javaScriptLineComment Comment + HiLink javaScriptEnvComment PreProc HiLink javaScriptDocComment Comment HiLink javaScriptCommentTodo Todo HiLink javaScriptCvsTag Function @@ -210,6 +213,7 @@ if version >= 508 || !exists("did_javascript_syn_inits") HiLink javaScriptStringS String HiLink javaScriptStringD String HiLink javaScriptRegexpString String + HiLink javaScriptRegexpCharClass Character HiLink javaScriptCharacter Character HiLink javaScriptPrototype Type HiLink javaScriptConditional Conditional