hcl/specsuite/tests/expressions/heredoc.hcldec
Martin Atkins e8dbb16dbc hcl/hclsyntax: Fix up parsing of flush heredocs
This was implemented a long time ago in the original template parser, but
it was missed in the rewrite of the template parser to make it use a
two-stage parsing strategy.

It's implemented as a post-processing step on the result of the first
stage of parsing, which produces a flat sequence of literal strings,
interpolation markers, and control markers, and prior to the second stage
which matches opening and closing control markers to produce an expression
AST.

It's important to do this at parse time rather than eval time since it is
the static layout of the source code that decides the indentation level,
and so an interpolation marker at the start of a line that itself produces
spaces does not affect the result.
2018-12-13 17:22:41 -08:00

15 lines
199 B
Plaintext

variables {
bar = "Bar"
space_bar = " Bar"
words = ["Foo", "Bar", "Baz"]
}
object {
attr "normal" {
type = map(string)
}
attr "flush" {
type = map(string)
}
}