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:
|
case subject.Type == hclsyntax.TokenCBrace && after.Type == hclsyntax.TokenTemplateSeqEnd:
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
// Don't add spaces between interpolated items
|
||||||
|
case subject.Type == hclsyntax.TokenTemplateSeqEnd && after.Type == hclsyntax.TokenTemplateInterp:
|
||||||
|
return false
|
||||||
|
|
||||||
case tokenBracketChange(subject) > 0:
|
case tokenBracketChange(subject) > 0:
|
||||||
// No spaces after open brackets
|
// No spaces after open brackets
|
||||||
return false
|
return false
|
||||||
|
@ -71,6 +71,10 @@ func TestFormat(t *testing.T) {
|
|||||||
`a="hello ${~ name ~}"`,
|
`a="hello ${~ name ~}"`,
|
||||||
`a = "hello ${~name~}"`,
|
`a = "hello ${~name~}"`,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
`a="${b}${c}${ d } ${e}"`,
|
||||||
|
`a = "${b}${c}${d} ${e}"`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
`b{}`,
|
`b{}`,
|
||||||
`b {}`,
|
`b {}`,
|
||||||
@ -500,6 +504,22 @@ foo {
|
|||||||
${ { blahblahblah = x } }
|
${ { blahblahblah = x } }
|
||||||
EOT
|
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