From 3d8ed48225b041f0f46f11294a1585fe847eed69 Mon Sep 17 00:00:00 2001 From: Gregor Woiwode Date: Fri, 13 May 2016 09:21:08 +0200 Subject: [PATCH 1/4] Adds custom grammar enabling html syntax highlighting Applies for @Component decorator provided by Angular 2 #818 --- scripts/grammar.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/grammar.js b/scripts/grammar.js index 0d96d37fc..52f008bd1 100644 --- a/scripts/grammar.js +++ b/scripts/grammar.js @@ -94,6 +94,18 @@ var atomPatterns = [ name: 'es6import.path.string.quoted' } } + }, + { + comment: 'Match Angular 2 Component html templates', + begin: '(?:(?<=^|\\stemplate:)|(?<=/\\*\\* @html \\*/))\\s*(`)', + beginCaptures: { + '1': { name: 'name: string.template.ts' } + }, + end: '`', + endCaptures: { + '0': { name: 'name: string.template.ts' } + }, + patterns: [ { include: 'text.html.basic' } ] } ] From 15e412b127c76cd784396d36a0830ba3b63153e8 Mon Sep 17 00:00:00 2001 From: Gregor Woiwode Date: Fri, 13 May 2016 09:22:32 +0200 Subject: [PATCH 2/4] Applies grammar for html syntax highlighting to ts.cson and tsx.cson This is done by running `npm run build` #818 --- grammars/ts.cson | 24 ++++++++++++++++++++---- grammars/tsx.cson | 24 ++++++++++++++++++++---- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/grammars/ts.cson b/grammars/ts.cson index 25dba3753..369c0dea6 100644 --- a/grammars/ts.cson +++ b/grammars/ts.cson @@ -1,5 +1,5 @@ # This file is generated by `scripts/grammar.js` -# Last generated: Mon, 18 Apr 2016 17:58:05 GMT +# Last generated: Fri, 13 May 2016 07:22:32 GMT name: "TypeScript" scopeName: "source.ts" fileTypes: [ @@ -609,6 +609,22 @@ repository: expression: name: "meta.expression.ts" patterns: [ + { + comment: "Match Angular 2 Component html templates" + begin: "(?:(?<=^|\\stemplate:)|(?<=/\\*\\* @html \\*/))\\s*(`)" + beginCaptures: + "1": + name: "name: string.template.ts" + end: "`" + endCaptures: + "0": + name: "name: string.template.ts" + patterns: [ + { + include: "text.html.basic" + } + ] + } { comment: "Match ES6 \"import from\" syntax" match: "\\b(import)\\b.*\\b(from)\\b\\s+((['\"]).*\\4)" @@ -868,13 +884,13 @@ repository: match: "\\*|/|\\-\\-|\\-|\\+\\+|\\+|%" "relational-operator": name: "keyword.operator.comparison.ts" - match: "===|==|=|!=|!==|<=|>=|<>|<|>" + match: "===|!==|==|!=|<=|>=|<>|=|<|>" "assignment-operator": name: "keyword.operator.assignment.ts" - match: "<<=|>>=|>>>=|\\*=|(?>>=|>>=|\\*=|(?=|<>|<|>" + match: "===|!==|==|!=|<=|>=|<>|=|<|>" "assignment-operator": name: "keyword.operator.assignment.tsx" - match: "<<=|>>=|>>>=|\\*=|(?>>=|>>=|\\*=|(? Date: Sat, 14 May 2016 09:42:04 +0200 Subject: [PATCH 3/4] Allows backticks inside html-templates without breaking syntax-highlighting --- scripts/grammar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/grammar.js b/scripts/grammar.js index 52f008bd1..5d24d0777 100644 --- a/scripts/grammar.js +++ b/scripts/grammar.js @@ -101,7 +101,7 @@ var atomPatterns = [ beginCaptures: { '1': { name: 'name: string.template.ts' } }, - end: '`', + end: '(? Date: Sat, 14 May 2016 09:42:55 +0200 Subject: [PATCH 4/4] Updates TypeScript grammar based on grammar.js Done by running npm run build --- grammars/ts.cson | 4 ++-- grammars/tsx.cson | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/grammars/ts.cson b/grammars/ts.cson index 369c0dea6..1c5a1fbf9 100644 --- a/grammars/ts.cson +++ b/grammars/ts.cson @@ -1,5 +1,5 @@ # This file is generated by `scripts/grammar.js` -# Last generated: Fri, 13 May 2016 07:22:32 GMT +# Last generated: Sat, 14 May 2016 07:40:19 GMT name: "TypeScript" scopeName: "source.ts" fileTypes: [ @@ -615,7 +615,7 @@ repository: beginCaptures: "1": name: "name: string.template.ts" - end: "`" + end: "(?