Text and interpolation

Literal text renders as-is (HTML-escaped where dynamic). { expr } interpolates any Go expression yielding a string or basic Go type, context-escaped (see conformance). {{ statements }} runs Go statements inside a body without rendering. Whitespace between nodes is preserved per the baseline's rules.

templ text(count int) {
	{{ label := strconv.Itoa(count) }}
	Plain text, { label } items
}

AST: Text, StringExpression, Whitespace, WhitespaceTrailer, GoCode (the {{ statements }} form; internal/parser covers its grammar in gocodeparser tests).

Verified by: internal/generator/test-text, internal/generator/test-string, internal/generator/test-string-errors, internal/generator/test-text-inline-expression, internal/generator/test-text-whitespace, internal/generator/test-primitives, internal/generator/test-whitespace-around-go-keywords.