~~ lineWidth: 40 ~~
== should format ==
const t = tag`testing`;

[expect]
const t = tag `testing`;

== should format with type parameters ==
const t = tag<T, U> `testing`;
// trailing comma not allowed by TS here :(
const u = tag<Testitttnnngg, ThisOutttttt> `testing`;

[expect]
const t = tag<T, U> `testing`;
// trailing comma not allowed by TS here :(
const u = tag<
    Testitttnnngg,
    ThisOutttttt
> `testing`;

== should move the template literal to the next line when exceeding the width ==
const t = tag<Testing, Other> `testing this out`;

[expect]
const t = tag<Testing, Other>
    `testing this out`;

== should not newline if the tagged template tag is below the indent width ==
tag `ttttttttttttttttttttttttttttttttttt`;

[expect]
tag `ttttttttttttttttttttttttttttttttttt`;

== should handle block comments between the tag and tpl on the same line ==
tag /* 1 */ `testing`
tag /* 1 */
`testing`

[expect]
tag /* 1 */ `testing`;
tag /* 1 */ `testing`;

== should handle line comments between the tag and tpl ==
tag // 1
// 2
/* 3 */ `testing` // 4

[expect]
tag // 1
    // 2
    /* 3 */ `testing`; // 4
