From a2937c642787f35fa7d31d430b3831ddedb32eb6 Mon Sep 17 00:00:00 2001 From: Thomas Aylott Date: Tue, 8 Jul 2008 16:55:46 -0400 Subject: [PATCH] Added special-comments-conditional-compilation for IE; Added leading-space scopes --- Syntaxes/JavaScript Basic.tmLanguage | 233 +++++++++++++++++++++++++++ Tests/Javascript Syntax Test.js | 15 -- 2 files changed, 233 insertions(+), 15 deletions(-) diff --git a/Syntaxes/JavaScript Basic.tmLanguage b/Syntaxes/JavaScript Basic.tmLanguage index 06a547b..541c71f 100644 --- a/Syntaxes/JavaScript Basic.tmLanguage +++ b/Syntaxes/JavaScript Basic.tmLanguage @@ -32,6 +32,10 @@ include #support + + include + #sugar + repository @@ -73,6 +77,10 @@ patterns + + include + #special-comments-conditional-compilation + begin /\*\* @@ -749,6 +757,90 @@ + special-comments-conditional-compilation + + patterns + + + begin + /\*(?=@) + captures + + 0 + + name + punctuation.definition.comment.js + + + end + /\*((@)end)\s*@\*/|(?<=@)\*/ + endCaptures + + 1 + + name + keyword.control.conditional.js + + 2 + + name + punctuation.definition.keyword.js + + + name + comment.block.conditional.js + patterns + + + include + $base + + + + + captures + + 1 + + name + punctuation.definition.keyword.js + + + match + (@)(if|elif|else|end) + name + keyword.control.conditional.js + + + captures + + 1 + + name + punctuation.definition.keyword.js + + + match + (@)(cc_on|set) + name + keyword.operator.conditional.js + + + captures + + 1 + + name + punctuation.definition.variable.js + + + match + (@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript_build|_jscript_version|_jscript|_debug|_fast|[a-zA-Z]\w+) + name + variable.other.conditional.js + + + string-double-innards patterns @@ -809,6 +901,147 @@ + sugar + + patterns + + + begin + ^(?=(\t| )) + end + (?=[^\t\s]) + name + meta.leading-tabs + patterns + + + captures + + 1 + + name + meta.odd-tab.group1.spaces + + 10 + + name + meta.even-tab.group10.spaces + + 11 + + name + meta.odd-tab.group11.spaces + + 2 + + name + meta.even-tab.group2.spaces + + 3 + + name + meta.odd-tab.group3.spaces + + 4 + + name + meta.even-tab.group4.spaces + + 5 + + name + meta.odd-tab.group5.spaces + + 6 + + name + meta.even-tab.group6.spaces + + 7 + + name + meta.odd-tab.group7.spaces + + 8 + + name + meta.even-tab.group8.spaces + + 9 + + name + meta.odd-tab.group9.spaces + + + match + ( )( )?( )?( )?( )?( )?( )?( )?( )?( )?( )? + + + captures + + 1 + + name + meta.odd-tab.group1.tab + + 10 + + name + meta.even-tab.group10.tab + + 11 + + name + meta.odd-tab.group11.tab + + 2 + + name + meta.even-tab.group2.tab + + 3 + + name + meta.odd-tab.group3.tab + + 4 + + name + meta.even-tab.group4.tab + + 5 + + name + meta.odd-tab.group5.tab + + 6 + + name + meta.even-tab.group6.tab + + 7 + + name + meta.odd-tab.group7.tab + + 8 + + name + meta.even-tab.group8.tab + + 9 + + name + meta.odd-tab.group9.tab + + + match + (\t)(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)?(\t)? + + + + + support patterns diff --git a/Tests/Javascript Syntax Test.js b/Tests/Javascript Syntax Test.js index 61417dd..2686d30 100644 --- a/Tests/Javascript Syntax Test.js +++ b/Tests/Javascript Syntax Test.js @@ -1,18 +1,3 @@ -// Root -// - - - - - - - - - - - - - // ============= // = FUNCTIONS = // =============