mirror of
https://github.com/pnx/tree-sitter-dotenv
synced 2026-08-26 04:08:11 +02:00
feat: make export keyword anonymous.
"export" was a named node despite always having fixed spelling, with
no variation to expose to queries. Anonymous string literals are
already fully queryable ("export" @keyword), so the named production
added a redundant node in the tree for no benefit.
Keeps the alias("export", $.identifier) in the key field, since that
usage is a genuine reclassification (export as an identifier, not the
keyword) and still needs to be named.
Updated corpus tests to use :cst format where "export" and "="
presence needs to be asserted explicitly.
This commit is contained in:
parent
65e3328e01
commit
0cc23a517e
6 changed files with 236 additions and 250 deletions
|
|
@ -24,17 +24,17 @@ module.exports = grammar({
|
|||
seq(
|
||||
field("key", choice(
|
||||
$.identifier,
|
||||
alias($.export, $.identifier),
|
||||
alias("export", $.identifier),
|
||||
)),
|
||||
"=",
|
||||
optional(field("value", $._value)),
|
||||
$._end_of_assignment,
|
||||
),
|
||||
prec(1, seq(
|
||||
$.export,
|
||||
"export",
|
||||
field("key", choice(
|
||||
$.identifier,
|
||||
alias($.export, $.identifier),
|
||||
alias("export", $.identifier),
|
||||
)),
|
||||
"=",
|
||||
optional(field("value", $._value)),
|
||||
|
|
@ -43,7 +43,6 @@ module.exports = grammar({
|
|||
),
|
||||
|
||||
comment: _ => /\#[^\n]*/,
|
||||
export: _ => token(prec(1, 'export')),
|
||||
|
||||
identifier: _ => /[A-Za-z_][A-Za-z0-9_]*/,
|
||||
variable: $ => seq('$', choice(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue