diff options
Diffstat (limited to 'tools/tree-sitter')
| -rw-r--r-- | tools/tree-sitter/grammar.js | 7 | ||||
| -rw-r--r-- | tools/tree-sitter/queries/elna/highlights.scm | 4 |
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 |
