Printer should not produce tailing spaces in lists
This commit is contained in:
parent
e96d23138c
commit
63e2043a82
@ -419,10 +419,13 @@ func (p *printer) list(l *ast.ListType) []byte {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var insertSpaceBeforeItem bool = false
|
||||||
|
|
||||||
for i, item := range l.List {
|
for i, item := range l.List {
|
||||||
if item.Pos().Line != l.Lbrack.Line {
|
if item.Pos().Line != l.Lbrack.Line {
|
||||||
// multiline list, add newline before we add each item
|
// multiline list, add newline before we add each item
|
||||||
buf.WriteByte(newline)
|
buf.WriteByte(newline)
|
||||||
|
insertSpaceBeforeItem = false
|
||||||
// also indent each line
|
// also indent each line
|
||||||
val := p.output(item)
|
val := p.output(item)
|
||||||
curLen := len(val)
|
curLen := len(val)
|
||||||
@ -449,10 +452,14 @@ func (p *printer) list(l *ast.ListType) []byte {
|
|||||||
buf.WriteByte(newline)
|
buf.WriteByte(newline)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if insertSpaceBeforeItem {
|
||||||
|
buf.WriteByte(blank)
|
||||||
|
insertSpaceBeforeItem = false
|
||||||
|
}
|
||||||
buf.Write(p.output(item))
|
buf.Write(p.output(item))
|
||||||
if i != len(l.List)-1 {
|
if i != len(l.List)-1 {
|
||||||
buf.WriteString(",")
|
buf.WriteString(",")
|
||||||
buf.WriteByte(blank)
|
insertSpaceBeforeItem = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
hcl/printer/testdata/list.golden
vendored
4
hcl/printer/testdata/list.golden
vendored
@ -2,11 +2,11 @@ foo = ["fatih", "arslan"]
|
|||||||
|
|
||||||
foo = ["bar", "qaz"]
|
foo = ["bar", "qaz"]
|
||||||
|
|
||||||
foo = ["zeynep",
|
foo = ["zeynep",
|
||||||
"arslan",
|
"arslan",
|
||||||
]
|
]
|
||||||
|
|
||||||
foo = ["fatih", "zeynep",
|
foo = ["fatih", "zeynep",
|
||||||
"arslan",
|
"arslan",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user