mirror of
https://github.com/mikefarah/yq.git
synced 2026-03-10 15:54:26 +00:00
Add override behavior comments
This commit is contained in:
parent
904215ef4d
commit
70ac3d6c7a
@ -145,6 +145,9 @@ func reconstructAliasedMap(node *CandidateNode, context Context) error {
|
||||
// no it needs to recurse in overrideEntry.
|
||||
|
||||
if ConfiguredYamlPreferences.FixMergeAnchorToSpec {
|
||||
// First evaluate merge keys to make explicit keys take precedence, following spec
|
||||
// We also iterate in reverse to make earlier merge keys take precedence,
|
||||
// although normally there's just one '<<'
|
||||
for index := len(node.Content) - 2; index >= 0; index -= 2 {
|
||||
keyNode := node.Content[index]
|
||||
valueNode := node.Content[index+1]
|
||||
@ -255,6 +258,8 @@ func applyMergeAnchor(node *CandidateNode, merge *CandidateNode, mergeIndex int,
|
||||
return applyMergeAnchorMap(node, merge, mergeIndex, inline, newContent)
|
||||
case SequenceNode:
|
||||
log.Debugf("a merge list!")
|
||||
// Reverse to make earlier values take precedence, following spec
|
||||
// Note: This was already the case before FixMergeAnchorToSpec
|
||||
content := slices.Backward(merge.Content)
|
||||
for _, childValue := range content {
|
||||
childInline := inline
|
||||
|
||||
@ -269,6 +269,9 @@ func doTraverseMap(newMatches *orderedmap.OrderedMap, node *CandidateNode, wante
|
||||
|
||||
if !prefs.DontFollowAlias {
|
||||
if ConfiguredYamlPreferences.FixMergeAnchorToSpec {
|
||||
// First evaluate merge keys to make explicit keys take precedence, following spec
|
||||
// We also iterate in reverse to make earlier merge keys take precedence,
|
||||
// although normally there's just one '<<'
|
||||
for index := len(node.Content) - 2; index >= 0; index -= 2 {
|
||||
keyNode := node.Content[index]
|
||||
valueNode := node.Content[index+1]
|
||||
@ -330,6 +333,7 @@ func traverseMergeAnchor(newMatches *orderedmap.OrderedMap, merge *CandidateNode
|
||||
case SequenceNode:
|
||||
content := slices.All(merge.Content)
|
||||
if ConfiguredYamlPreferences.FixMergeAnchorToSpec {
|
||||
// Reverse to make earlier values take precedence, following spec
|
||||
content = slices.Backward(merge.Content)
|
||||
}
|
||||
for _, childValue := range content {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user