From 154a4ace01b83eb376bb9cdaf5cc0c9aafad79ea Mon Sep 17 00:00:00 2001 From: Mike Farah Date: Mon, 8 Dec 2025 09:19:21 +1100 Subject: [PATCH] Update pkg/yqlib/encoder_hcl.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- pkg/yqlib/encoder_hcl.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/yqlib/encoder_hcl.go b/pkg/yqlib/encoder_hcl.go index 6c2216a6..bb812744 100644 --- a/pkg/yqlib/encoder_hcl.go +++ b/pkg/yqlib/encoder_hcl.go @@ -325,26 +325,26 @@ func (he *hclEncoder) encodeNodeAttributes(body *hclwrite.Body, node *CandidateN key := keyNode.Value if valueNode.Kind == MappingNode && valueNode.Style != FlowStyle { - if labels, bodyNode, ok := extractBlockLabels(valueNode); ok { - if len(labels) > 1 && mappingChildrenAllMappings(bodyNode) { - primaryLabels := labels[:len(labels)-1] - nestedType := labels[len(labels)-1] - block := body.AppendNewBlock(key, primaryLabels) - if handled, err := he.encodeMappingChildrenAsBlocks(block.Body(), nestedType, bodyNode); err != nil { - return err - } else if !handled { - if err := he.encodeNodeAttributes(block.Body(), bodyNode); err != nil { - return err - } - } - continue - } - block := body.AppendNewBlock(key, labels) - if err := he.encodeNodeAttributes(block.Body(), bodyNode); err != nil { + if labels, bodyNode, ok := extractBlockLabels(valueNode); ok { + if len(labels) > 1 && mappingChildrenAllMappings(bodyNode) { + primaryLabels := labels[:len(labels)-1] + nestedType := labels[len(labels)-1] + block := body.AppendNewBlock(key, primaryLabels) + if handled, err := he.encodeMappingChildrenAsBlocks(block.Body(), nestedType, bodyNode); err != nil { return err + } else if !handled { + if err := he.encodeNodeAttributes(block.Body(), bodyNode); err != nil { + return err + } } continue } + block := body.AppendNewBlock(key, labels) + if err := he.encodeNodeAttributes(block.Body(), bodyNode); err != nil { + return err + } + continue + } if handled, err := he.encodeMappingChildrenAsBlocks(body, key, valueNode); err != nil { return err } else if handled {