aboutsummaryrefslogtreecommitdiff
path: root/grammar.js
diff options
context:
space:
mode:
Diffstat (limited to 'grammar.js')
-rw-r--r--grammar.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/grammar.js b/grammar.js
index e74c27b..db1219d 100644
--- a/grammar.js
+++ b/grammar.js
@@ -83,12 +83,20 @@ module.exports = grammar({
)
),
identifier: $ => prec.left(seq(
- $._label,
+ choice(
+ $.optional_value,
+ $._label,
+ ),
optional($.type_annotation),
optional($.parameter_list),
optional($.return_statement),
optional($.throw_statement),
)),
+ optional_value: $ => seq(
+ '[',
+ $._label,
+ ']'
+ ),
type_annotation: $ => seq(
'<',
$._entry_list,