hclwrite: fix space being added between interpolated items
closes #65 - add missing edge case for two interpolated items next to each other - add tests for both quote and heredoc cases
This commit is contained in:
parent
40e962e08e
commit
7b147fbae4
@ -325,6 +325,10 @@ func spaceAfterToken(subject, before, after *Token) bool {
|
||||
case subject.Type == hclsyntax.TokenCBrace && after.Type == hclsyntax.TokenTemplateSeqEnd:
|
||||
return true
|
||||
|
||||
// Don't add spaces between interpolated items
|
||||
case subject.Type == hclsyntax.TokenTemplateSeqEnd && after.Type == hclsyntax.TokenTemplateInterp:
|
||||
return false
|
||||
|
||||
case tokenBracketChange(subject) > 0:
|
||||
// No spaces after open brackets
|
||||
return false
|
||||
|
@ -71,6 +71,10 @@ func TestFormat(t *testing.T) {
|
||||
`a="hello ${~ name ~}"`,
|
||||
`a = "hello ${~name~}"`,
|
||||
},
|
||||
{
|
||||
`a="${b}${c}${ d } ${e}"`,
|
||||
`a = "${b}${c}${d} ${e}"`,
|
||||
},
|
||||
{
|
||||
`b{}`,
|
||||
`b {}`,
|
||||
@ -500,6 +504,22 @@ foo {
|
||||
${ { blahblahblah = x } }
|
||||
EOT
|
||||
}
|
||||
`,
|
||||
},
|
||||
{
|
||||
`
|
||||
foo {
|
||||
bar = <<-EOT
|
||||
${a}${b}${ c } ${d}
|
||||
EOT
|
||||
}
|
||||
`,
|
||||
`
|
||||
foo {
|
||||
bar = <<-EOT
|
||||
${a}${b}${c} ${d}
|
||||
EOT
|
||||
}
|
||||
`,
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user