aboutsummaryrefslogtreecommitdiff
path: root/tools/tree-sitter
diff options
context:
space:
mode:
Diffstat (limited to 'tools/tree-sitter')
-rw-r--r--tools/tree-sitter/grammar.js7
-rw-r--r--tools/tree-sitter/queries/elna/highlights.scm4
2 files changed, 8 insertions, 3 deletions
diff --git a/tools/tree-sitter/grammar.js b/tools/tree-sitter/grammar.js
index a43c947..bfb4c26 100644
--- a/tools/tree-sitter/grammar.js
+++ b/tools/tree-sitter/grammar.js
@@ -360,10 +360,15 @@ module.exports = grammar({
enum_type: $ => seq(
'(',
- commaSep1(field('member', $.identifier)),
+ commaSep1(field('member', $.enum_member)),
')',
),
+ enum_member: $ => seq(
+ field('name', $.identifier),
+ optional(seq('=', field('value', $._expression))),
+ ),
+
generic_type: $ => seq(
field('name', $.identifier),
field('type_arguments', $.type_arguments),
diff --git a/tools/tree-sitter/queries/elna/highlights.scm b/tools/tree-sitter/queries/elna/highlights.scm
index b5e6d10..4cb3f7c 100644
--- a/tools/tree-sitter/queries/elna/highlights.scm
+++ b/tools/tree-sitter/queries/elna/highlights.scm
@@ -101,8 +101,8 @@
(traits_expression
arguments: (identifier) @type)
-(enum_type
- member: (identifier) @constant)
+(enum_member
+ name: (identifier) @constant)
(procedure_declaration
name: (identifier_definition