feat(parser): fix MappingValue position

This commit is contained in:
Lars Stegman 2025-06-17 16:05:17 +02:00
parent 807ccfbe53
commit b966ccc107
No known key found for this signature in database

View File

@ -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 {