Skip to content

Commit 6bdeb57

Browse files
committed
How to resolve conflicts?
1 parent a3dc38c commit 6bdeb57

File tree

2 files changed

+43
-31
lines changed

2 files changed

+43
-31
lines changed

common/define-grammar.js

+23-20
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,12 @@ module.exports = function defineGrammar(dialect) {
114114
]).concat(
115115
dialect === 'typescript' ? [
116116
[$.primary_type, $.type_parameter],
117-
] : [
117+
] : dialect === 'tsx' ? [
118118
[$.jsx_opening_element, $.type_parameter],
119119
[$.jsx_namespace_name, $.primary_type],
120-
],
120+
] : dialect === 'gts' ? [
121+
[$.glimmer_template, $.primary_type, $.type_parameter],
122+
] : [],
121123
),
122124

123125
inline: ($, previous) => previous
@@ -222,7 +224,7 @@ module.exports = function defineGrammar(dialect) {
222224
choices.push($.type_assertion);
223225
choices.push(...previous.members.filter((member) => {
224226
return member.name !== '_jsx_element' && member.name !== 'glimmer_template';
225-
}
227+
},
226228
));
227229
} else if (dialect === 'gts') {
228230
choices.push($.type_assertion);
@@ -240,23 +242,24 @@ module.exports = function defineGrammar(dialect) {
240242
return choice(...choices);
241243
},
242244

243-
glimmer_template: $ => choice(
244-
seq(
245-
field('open_tag', $.glimmer_opening_tag),
246-
field('content', repeat($._glimmer_template_content)),
247-
field('close_tag', $.glimmer_closing_tag),
248-
),
249-
// empty template has no content
250-
// <template></template>
251-
seq(
252-
field('open_tag', $.glimmer_opening_tag),
253-
field('close_tag', $.glimmer_closing_tag),
254-
),
255-
),
256-
257-
_glimmer_template_content: _ => /.{1,}/,
258-
glimmer_opening_tag: _ => '<template>',
259-
glimmer_closing_tag: _ => '</template>',
245+
// This rule is only referenced by expression when the dialect is 'gts'
246+
// glimmer_template: $ => choice(
247+
// seq(
248+
// field('open_tag', $.glimmer_opening_tag),
249+
// field('content', repeat($._glimmer_template_content)),
250+
// field('close_tag', $.glimmer_closing_tag),
251+
// ),
252+
// // empty template has no content
253+
// // <template></template>
254+
// seq(
255+
// field('open_tag', $.glimmer_opening_tag),
256+
// field('close_tag', $.glimmer_closing_tag),
257+
// ),
258+
// ),
259+
//
260+
// _glimmer_template_content: _ => /.{1,}/,
261+
// glimmer_opening_tag: _ => '<template>',
262+
// glimmer_closing_tag: _ => '</template>',
260263

261264
_jsx_start_opening_element: $ => seq(
262265
'<',

gts/src/grammar.json

+20-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
2-
"name": "tsx",
3-
"inherits": "javascript",
2+
"name": "gts",
43
"word": "identifier",
54
"rules": {
65
"program": {
@@ -2017,15 +2016,19 @@
20172016
},
20182017
{
20192018
"type": "SYMBOL",
2020-
"name": "primary_expression"
2019+
"name": "glimmer_template"
20212020
},
20222021
{
20232022
"type": "SYMBOL",
2024-
"name": "glimmer_template"
2023+
"name": "type_assertion"
20252024
},
20262025
{
20272026
"type": "SYMBOL",
2028-
"name": "_jsx_element"
2027+
"name": "primary_expression"
2028+
},
2029+
{
2030+
"type": "SYMBOL",
2031+
"name": "glimmer_template"
20292032
},
20302033
{
20312034
"type": "SYMBOL",
@@ -6583,6 +6586,14 @@
65836586
"content": {
65846587
"type": "CHOICE",
65856588
"members": [
6589+
{
6590+
"type": "FIELD",
6591+
"name": "template",
6592+
"content": {
6593+
"type": "SYMBOL",
6594+
"name": "glimmer_template"
6595+
}
6596+
},
65866597
{
65876598
"type": "SEQ",
65886599
"members": [
@@ -11296,12 +11307,10 @@
1129611307
"template_string"
1129711308
],
1129811309
[
11299-
"jsx_opening_element",
11300-
"type_parameter"
11301-
],
11302-
[
11303-
"jsx_namespace_name",
11304-
"primary_type"
11310+
"glimmer_template",
11311+
"primary_type",
11312+
"type_parameter",
11313+
"glimmer_template"
1130511314
]
1130611315
],
1130711316
"precedences": [

0 commit comments

Comments
 (0)