mirror of
https://github.com/mikefarah/yq.git
synced 2026-09-05 00:54:51 +08:00
Fix deleting commented empty list YAML output (#2765)
This commit is contained in:
@@ -71,6 +71,29 @@ func deleteFromMap(node *CandidateNode, childPath interface{}) {
|
||||
node.Content = newContents
|
||||
}
|
||||
|
||||
func normaliseEmptySequenceMapKeyComment(node *CandidateNode) {
|
||||
if node.Kind != SequenceNode || len(node.Content) != 0 || node.LineComment != "" {
|
||||
return
|
||||
}
|
||||
|
||||
key := node.Key
|
||||
if node.Parent != nil && node.Parent.Kind == MappingNode {
|
||||
for index := 0; index < len(node.Parent.Content)-1; index += 2 {
|
||||
if node.Parent.Content[index+1] == node {
|
||||
key = node.Parent.Content[index]
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if key == nil || key.LineComment == "" {
|
||||
return
|
||||
}
|
||||
|
||||
node.LineComment = key.LineComment
|
||||
key.LineComment = ""
|
||||
node.Style = FlowStyle
|
||||
}
|
||||
|
||||
func deleteFromArray(node *CandidateNode, childPath interface{}) {
|
||||
log.Debug("deleteFromArray")
|
||||
contents := node.Content
|
||||
@@ -87,4 +110,5 @@ func deleteFromArray(node *CandidateNode, childPath interface{}) {
|
||||
}
|
||||
}
|
||||
node.Content = newContents
|
||||
normaliseEmptySequenceMapKeyComment(node)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user