Skip to content

Commit c3f3172

Browse files
ayazhafizKeen Yee Liau
authored and
Keen Yee Liau
committed
Do not match inline template grammars inside a template itself
Closes #839
1 parent fd90397 commit c3f3172

File tree

5 files changed

+57
-4
lines changed

5 files changed

+57
-4
lines changed

syntaxes/inline-template.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"scopeName": "inline-template.ng",
3-
"injectionSelector": "L:meta.decorator.ts -comment",
3+
"injectionSelector": "L:meta.decorator.ts -comment -text.html",
44
"patterns": [
55
{
66
"include": "#inlineTemplate"

syntaxes/src/inline-template.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {GrammarDefinition} from './types';
1010

1111
export const InlineTemplate: GrammarDefinition = {
1212
scopeName: 'inline-template.ng',
13-
injectionSelector: 'L:meta.decorator.ts -comment',
13+
injectionSelector: 'L:meta.decorator.ts -comment -text.html',
1414
patterns: [{include: '#inlineTemplate'}],
1515
repository: {
1616
inlineTemplate: {

syntaxes/test/cases.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{
33
"name": "inline template",
44
"scopeName": "inline-template.ng",
5-
"grammarFiles": ["syntaxes/inline-template.json", "syntaxes/template.json"],
5+
"grammarFiles": ["syntaxes/inline-template.json", "syntaxes/template.json", "syntaxes/expression.json"],
66
"testFile": "syntaxes/test/data/inline-template.ts"
77
},
88
{

syntaxes/test/data/inline-template.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,10 @@ export class TMComponent{}
3030
template: '{{property}}',
3131
})
3232
export class TMComponent{}
33+
34+
@Component({
35+
template: `
36+
<ng-container *ngFor="let el of [1,2,3,4]; template: myTpl"></ng-template>
37+
`,
38+
})
39+
export class TMComponent{}

syntaxes/test/data/inline-template.ts.snap

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,57 @@
108108
# ^ inline-template.ng meta.object-literal.key.ts punctuation.separator.key-value.ts
109109
# ^ inline-template.ng
110110
# ^ inline-template.ng string
111-
# ^^^^^^^^^^^^ inline-template.ng text.html
111+
# ^^ inline-template.ng text.html punctuation.definition.block.ts
112+
# ^^^^^^^^ inline-template.ng text.html expression.ng variable.other.readwrite.ts
113+
# ^^ inline-template.ng text.html punctuation.definition.block.ts
112114
# ^ inline-template.ng string
113115
# ^^ inline-template.ng
114116
>})
115117
#^^^ inline-template.ng
116118
>export class TMComponent{}
117119
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ inline-template.ng
120+
>
121+
>@Component({
122+
#^^^^^^^^^^^^^ inline-template.ng
123+
> template: `
124+
#^^ inline-template.ng
125+
# ^^^^^^^^ inline-template.ng meta.object-literal.key.ts
126+
# ^ inline-template.ng meta.object-literal.key.ts punctuation.separator.key-value.ts
127+
# ^ inline-template.ng
128+
# ^ inline-template.ng string
129+
> <ng-container *ngFor="let el of [1,2,3,4]; template: myTpl"></ng-template>
130+
#^^^^^^^^^^^^^^^^^^ inline-template.ng text.html
131+
# ^ inline-template.ng text.html meta.ng-binding.template.html entity.other.attribute-name.html entity.other.ng-binding-name.template.html punctuation.definition.ng-binding-name.begin.html
132+
# ^^^^^ inline-template.ng text.html meta.ng-binding.template.html entity.other.attribute-name.html entity.other.ng-binding-name.template.html entity.other.ng-binding-name.ngFor.html
133+
# ^ inline-template.ng text.html meta.ng-binding.template.html punctuation.separator.key-value.html
134+
# ^ inline-template.ng text.html meta.ng-binding.template.html string.quoted.html punctuation.definition.string.begin.html
135+
# ^^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng storage.type.ts
136+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng
137+
# ^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng variable.other.readwrite.ts
138+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng
139+
# ^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng keyword.operator.expression.of.ts
140+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng
141+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts meta.brace.square.ts
142+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts constant.numeric.decimal.ts
143+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts punctuation.separator.comma.ts
144+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts constant.numeric.decimal.ts
145+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts punctuation.separator.comma.ts
146+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts constant.numeric.decimal.ts
147+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts punctuation.separator.comma.ts
148+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts constant.numeric.decimal.ts
149+
# ^ inline-template.ng text.html meta.ng-binding.template.html expression.ng meta.array.literal.ts meta.brace.square.ts
150+
# ^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng
151+
# ^^^^^^^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng variable.other.readwrite.ts
152+
# ^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng
153+
# ^^^^^ inline-template.ng text.html meta.ng-binding.template.html expression.ng variable.other.readwrite.ts
154+
# ^ inline-template.ng text.html meta.ng-binding.template.html string.quoted.html punctuation.definition.string.end.html
155+
# ^^^^^^^^^^^^^^^^ inline-template.ng text.html
156+
> `,
157+
#^^ inline-template.ng text.html
158+
# ^ inline-template.ng string
159+
# ^^ inline-template.ng
160+
>})
161+
#^^^ inline-template.ng
162+
>export class TMComponent{}
163+
#^^^^^^^^^^^^^^^^^^^^^^^^^^^ inline-template.ng
118164
>

0 commit comments

Comments
 (0)