Add newlines around list of structs
Since a struct(parser.Map) occupies multiple lines, adding newlines around brackets([]) looks better even the list has only a single value. prop: [ { name: "foo", }], vs prop: [ { name: "foo", }, ], Bug: n/a Test: go test ./parser Change-Id: I1a574aa038a26235848b6c9b5b4f01a0ab2c8c00
This commit is contained in:
parent
2df87f3cd9
commit
0cb1064428
2 changed files with 31 additions and 1 deletions
|
@ -139,7 +139,7 @@ func (p *printer) printExpression(value Expression) {
|
|||
func (p *printer) printList(list []Expression, pos, endPos scanner.Position) {
|
||||
p.requestSpace()
|
||||
p.printToken("[", pos)
|
||||
if len(list) > 1 || pos.Line != endPos.Line {
|
||||
if len(list) > 1 || pos.Line != endPos.Line || listHasMap(list) {
|
||||
p.requestNewline()
|
||||
p.indent(p.curIndent() + 4)
|
||||
for _, value := range list {
|
||||
|
@ -392,3 +392,12 @@ func max(a, b int) int {
|
|||
return b
|
||||
}
|
||||
}
|
||||
|
||||
func listHasMap(list []Expression) bool {
|
||||
for _, value := range list {
|
||||
if _, ok := value.(*Map); ok {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -426,6 +426,27 @@ stuff {
|
|||
],
|
||||
],
|
||||
}
|
||||
`,
|
||||
},
|
||||
{
|
||||
input: `
|
||||
// test
|
||||
stuff {
|
||||
namespace: "google",
|
||||
list_of_structs: [{ key1: "a", key2: "b" }],
|
||||
}
|
||||
`,
|
||||
output: `
|
||||
// test
|
||||
stuff {
|
||||
namespace: "google",
|
||||
list_of_structs: [
|
||||
{
|
||||
key1: "a",
|
||||
key2: "b",
|
||||
},
|
||||
],
|
||||
}
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue