From 58d8e271aeb2f2da3101ef1885a31e02dabc0b86 Mon Sep 17 00:00:00 2001 From: Marc Harter Date: Mon, 14 Mar 2011 22:56:31 -0500 Subject: [PATCH 1/7] added #! comments for executing js in shell --- syntax/javascript.vim | 2 ++ 1 file changed, 2 insertions(+) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 41fd77a8..3b404b46 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=+$+ keepend contains=javaScriptCommentTodo,@Spell 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 @@ -199,6 +200,7 @@ if version >= 508 || !exists("did_javascript_syn_inits") endif HiLink javaScriptComment Comment HiLink javaScriptLineComment Comment + HiLink javaScriptEnvComment Comment HiLink javaScriptDocComment Comment HiLink javaScriptCommentTodo Todo HiLink javaScriptCvsTag Function From 3e0bd23ca2f80cc8d0326c6843afb5cd2a76df52 Mon Sep 17 00:00:00 2001 From: Keita Haga Date: Fri, 1 Apr 2011 12:26:02 +0800 Subject: [PATCH 2/7] javaScriptEnvComment highlight group cleanup --- syntax/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 3b404b46..9f570c3b 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -32,7 +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=+$+ 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 From 5a20c4d603e5c5453d95f6f62cfdf5714504cedf Mon Sep 17 00:00:00 2001 From: Keita Haga Date: Fri, 1 Apr 2011 12:28:18 +0800 Subject: [PATCH 3/7] switch to PreProc syntax group --- syntax/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 9f570c3b..1c09be55 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -200,7 +200,7 @@ if version >= 508 || !exists("did_javascript_syn_inits") endif HiLink javaScriptComment Comment HiLink javaScriptLineComment Comment - HiLink javaScriptEnvComment Comment + HiLink javaScriptEnvComment PreProc HiLink javaScriptDocComment Comment HiLink javaScriptCommentTodo Todo HiLink javaScriptCvsTag Function From e1a6be736b7572890e0e7f7f68ea8a682b765df5 Mon Sep 17 00:00:00 2001 From: Adriano Bonat Date: Wed, 13 Apr 2011 10:27:26 +0800 Subject: [PATCH 4/7] Fixed issue #12 around indentation with colon and slashes. --- indent/javascript.vim | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index 99e03ee7..d8c98522 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."'" From dc1d3a47e923bc0453b0088f91c497e529db143c Mon Sep 17 00:00:00 2001 From: Kenji Wellman Date: Sun, 15 May 2011 01:03:03 +0800 Subject: [PATCH 5/7] Don't add extra indent to each continuation line --- indent/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indent/javascript.vim b/indent/javascript.vim index d8c98522..22893fe6 100644 --- a/indent/javascript.vim +++ b/indent/javascript.vim @@ -165,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 From 1524b9c6d3820761ac972f0f2ef2cb9736a784f1 Mon Sep 17 00:00:00 2001 From: jez Date: Tue, 17 May 2011 15:39:29 +0800 Subject: [PATCH 6/7] Match regexes that contain slashes in character classes. --- syntax/javascript.vim | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 1c09be55..5dd2c5a7 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -72,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") HiLink javaScriptStringS String HiLink javaScriptStringD String HiLink javaScriptRegexpString String + HiLink javaScriptRegexpCharClass Character HiLink javaScriptCharacter Character HiLink javaScriptPrototype Type HiLink javaScriptConditional Conditional From 1567954b864b5194d45a76b7ec9d314216d32c5b Mon Sep 17 00:00:00 2001 From: jez Date: Wed, 18 May 2011 11:36:52 +0800 Subject: [PATCH 7/7] Distinguish keyword operations from math expressions. In particular, we recognize `return /test/i` as returning a regular expression, while `x /test/i` divides `x` by `test` and then by `i`. --- syntax/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 5dd2c5a7..cad75965 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -73,7 +73,7 @@ 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 javaScriptRegexpCharClass start=+\[\]\|\[^\]\|\[+ end=+\]+ contained -syntax region javaScriptRegexpString start=+\(\([)\]"']\|\d\|\w\)\s*\)\@\|\<0[xX]\x\+\>/ syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/ syntax match javaScriptLabel /\(?\s*\)\@