encoding/yaml: use idiomatic indentation (regression)
For some reason, yaml.v3 uses 4 spaces, instead of
the recommended 2, so this changed when moving to
this new package.
This change reverts it back.
Change-Id: I3cd1fc5a4fb575cce7e014cf51795488c7a5a8a1
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/5686
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/internal/encoding/yaml/encode.go b/internal/encoding/yaml/encode.go
index b0a247d..d9742e7 100644
--- a/internal/encoding/yaml/encode.go
+++ b/internal/encoding/yaml/encode.go
@@ -15,6 +15,7 @@
package yaml
import (
+ "bytes"
"math/big"
"strings"
@@ -45,7 +46,14 @@
if err != nil {
return nil, err
}
- return yaml.Marshal(y)
+ w := &bytes.Buffer{}
+ enc := yaml.NewEncoder(w)
+ // Use idiomatic indentation.
+ enc.SetIndent(2)
+ if err = enc.Encode(y); err != nil {
+ return nil, err
+ }
+ return w.Bytes(), nil
}
func encode(n ast.Node) (y *yaml.Node, err error) {
diff --git a/internal/encoding/yaml/encode_test.go b/internal/encoding/yaml/encode_test.go
index 33d478a..b90447c 100644
--- a/internal/encoding/yaml/encode_test.go
+++ b/internal/encoding/yaml/encode_test.go
@@ -51,18 +51,18 @@
`,
out: `
seq:
- - 1
- - 2
- - 3
- - a: 1
- b: 2
+- 1
+- 2
+- 3
+- a: 1
+ b: 2
a:
- b:
- c: 3
+ b:
+ c: 3
b:
- x: 0
- y: 1
- z: 2
+ x: 0
+ y: 1
+ z: 2
`,
}, {
name: "oneLineFields",
@@ -136,8 +136,8 @@
# head 3
f3:
- # struct doc
- a: 1
+ # struct doc
+ a: 1
f4: {} # line 4
# Trailing
@@ -229,16 +229,16 @@
}`,
out: `
receivers:
- - name: pager
- slack_configs:
- - text: |-
- {{ range .Alerts }}{{ .Annotations.description }}
- {{ end }}
- channel: '#cloudmon'
- send_resolved: true
+- name: pager
+ slack_configs:
+ - text: |-
+ {{ range .Alerts }}{{ .Annotations.description }}
+ {{ end }}
+ channel: '#cloudmon'
+ send_resolved: true
route:
- receiver: pager
- group_by: [alertname, cluster]
+ receiver: pager
+ group_by: [alertname, cluster]
`,
}}
for _, tc := range testCases {