From b966ccc107c621179c10e5aea11d23fc95e2e39e Mon Sep 17 00:00:00 2001 From: Lars Stegman Date: Tue, 17 Jun 2025 16:05:17 +0200 Subject: [PATCH] feat(parser): fix MappingValue position --- pkg/yqlib/candidate_node_goccy_yaml.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/yqlib/candidate_node_goccy_yaml.go b/pkg/yqlib/candidate_node_goccy_yaml.go index e13f92de..29e95662 100644 --- a/pkg/yqlib/candidate_node_goccy_yaml.go +++ b/pkg/yqlib/candidate_node_goccy_yaml.go @@ -341,7 +341,7 @@ func (m *goccyMarshaller) marshalMapping(path string, o *CandidateNode) (ast.Nod mapping := ast.Mapping(nil, isFlowStyle) if isFlowStyle { - mapping.Start = m.PushToken(goccyToken.MappingStart("{", &goccyToken.Position{})) + mapping.Start = m.PushToken(goccyToken.MappingStart("{", m.getPosition(o))) } values := make([]*ast.MappingValueNode, len(o.Content)/2) @@ -388,7 +388,10 @@ func (m *goccyMarshaller) marshalMappingValueNode(path string, entryNode, keyNod return nil, err } - separatorToken := m.PushToken(goccyToken.MappingValue(m.getPosition(entryNode))) + separatorToken := m.PushToken(goccyToken.MappingValue(&goccyToken.Position{ + Line: key.GetToken().Position.Line, + Column: key.GetToken().Position.Column + len(key.String()), + })) value, err := m.Marshal(key.GetPath(), valueNode) if err != nil {