Skip to content

Commit 64eded2

Browse files
authored
Add word and reserved field (#297)
1 parent b1ed183 commit 64eded2

3 files changed

Lines changed: 172664 additions & 208376 deletions

File tree

‎grammar.js‎

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,37 @@ export default grammar({
2626
/[\s\uFEFF\u2060\u200B\u00A0]/,
2727
],
2828

29+
word: ($) => $._identifier,
30+
31+
reserved: {
32+
global: ($) => [
33+
"and",
34+
"as",
35+
"assert",
36+
"constraint",
37+
"else",
38+
"exception",
39+
"external",
40+
"false",
41+
"for",
42+
"if",
43+
"in",
44+
"include",
45+
"let",
46+
"module",
47+
"mutable",
48+
"of",
49+
"open",
50+
"rec",
51+
"switch",
52+
"true",
53+
"try",
54+
"type",
55+
"when",
56+
"while",
57+
],
58+
},
59+
2960
supertypes: ($) => [
3061
$.statement,
3162
$.declaration,
@@ -1120,11 +1151,7 @@ export default grammar({
11201151
),
11211152

11221153
_extension_expression_payload: ($) =>
1123-
seq(
1124-
"(",
1125-
choice($._one_or_more_statements, $.type_annotation),
1126-
")",
1127-
),
1154+
seq("(", choice($._one_or_more_statements, $.type_annotation), ")"),
11281155

11291156
variant: ($) =>
11301157
prec.right(
@@ -1235,14 +1262,12 @@ export default grammar({
12351262
),
12361263

12371264
type_identifier: ($) =>
1238-
choice(/[a-z_'][a-zA-Z0-9_']*/, $._escape_identifier),
1265+
choice($._identifier, /'[a-zA-Z0-9_']*/, $._escape_identifier),
1266+
1267+
_identifier: (_) => /[a-z_][a-zA-Z0-9_']*/,
12391268

12401269
value_identifier: ($) =>
1241-
choice(
1242-
/[a-z_][a-zA-Z0-9_']*/,
1243-
$._reserved_identifier,
1244-
$._escape_identifier,
1245-
),
1270+
choice($._identifier, $._reserved_identifier, $._escape_identifier),
12461271

12471272
_escape_identifier: ($) => token(seq('\\"', /[^"]+/, '"')),
12481273

0 commit comments

Comments
 (0)