summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hclwrite/format.go4
-rw-r--r--hclwrite/format_test.go20
2 files changed, 24 insertions, 0 deletions
diff --git a/hclwrite/format.go b/hclwrite/format.go
index ef50e09..eed0694 100644
--- a/hclwrite/format.go
+++ b/hclwrite/format.go
@@ -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
diff --git a/hclwrite/format_test.go b/hclwrite/format_test.go
index b4783c2..c07be97 100644
--- a/hclwrite/format_test.go
+++ b/hclwrite/format_test.go
@@ -72,6 +72,10 @@ func TestFormat(t *testing.T) {
`a = "hello ${~name~}"`,
},
{
+ `a="${b}${c}${ d } ${e}"`,
+ `a = "${b}${c}${d} ${e}"`,
+ },
+ {
`b{}`,
`b {}`,
},
@@ -502,6 +506,22 @@ EOT
}
`,
},
+ {
+ `
+foo {
+ bar = <<-EOT
+ ${a}${b}${ c } ${d}
+EOT
+}
+`,
+ `
+foo {
+ bar = <<-EOT
+ ${a}${b}${c} ${d}
+EOT
+}
+`,
+ },
}
for i, test := range tests {