aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/azalea/azalea.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-28 02:54:02 +0900
committerOphestra <cat@gensokyo.uk>2026-10-28 02:54:02 +0900
commit7e3ba55cdc4d4a7c19deb65879e8abbb12a8e458 (patch)
tree8479f6d73fde5d27c8c06d37f610376530443071 /internal/rosa/azalea/azalea.go
parenta491746ce9cdad4e0dce184ad2441733fadaa78a (diff)
internal/rosa/azalea: treat keys as standard value
This allows expressions like string concatenation for the KV key part. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/azalea/azalea.go')
-rw-r--r--internal/rosa/azalea/azalea.go13
1 files changed, 3 insertions, 10 deletions
diff --git a/internal/rosa/azalea/azalea.go b/internal/rosa/azalea/azalea.go
index bd24ef4e..5e044214 100644
--- a/internal/rosa/azalea/azalea.go
+++ b/internal/rosa/azalea/azalea.go
@@ -121,10 +121,7 @@ func (p *parser) parseVal() (v Val) {
type Array []Val
// A KV holds a key/value pair.
-type KV struct {
- K String
- V Val
-}
+type KV struct{ K, V Val }
// An Arg represents an argument of [Func].
type Arg struct {
@@ -235,9 +232,8 @@ func (p *parser) parseExpr() any {
p.scan()
return v
- case scanner.String:
- pair := KV{K: p.parseString()}
- p.scan()
+ default:
+ pair := KV{K: p.parseVal()}
switch p.tok {
case ';':
break
@@ -252,9 +248,6 @@ func (p *parser) parseExpr() any {
panic(ExprError(p.tok))
}
v = append(v, pair)
-
- default:
- panic(ExprError(p.tok))
}
}