* Handlebars: fix formatting of attributes
* Add group only for class
* Add changelog
* Update clean.js
* Simplify ConcatStatement
* Lowercase attr name in clean
* Use text instead of n.chars
* Test: Add test addressing #8584
* Fix: Resolves problem with incorrect component formatting (#8584)
* Docs: Add changelog note
* Test: Add test for yield formatting case
* Fix: Fix handlebars yield opening tag break
* Test: Add case for any helper with params
* Fix: Fix opening tag for every helper with params
* Chore: Revert whitespaces
* Chore: Revert whitespaces in tests
* Add a failing test
* Support escaping a mustache with `\`
It is documented in handlebarjs documentation here:
https://handlebarsjs.com/guide/expressions.html#escaping-handlebars-expressions
* Preprocess TextNode to adjust the need of backslashes
Given that template:
```hbs
a non-escaped mustache: \\\{{helper}}
```
Glimmer parser will produce two body nodes:
- a TextNode where `node.chars === "a non-escaped mustache: \\\\"`
- a MustacheStatement for `{{helper}}`
In order to correctly print the input, we need to adjust the TextNode to
`node.chars === "a non-escaped mustache: \\\\\\"`, namely we have to add
a backslash that is removed by Glimmer parser. This is this commit
purpose.
* Add changelog note
* feat: html support
* fix: support empty lines between children
* refactor: isScriptTagNode util
* refactor: rename `glimmer` and `handlebars` tests
* fix don't add newline after `directive` node
* fix: support `pre` tag
* fix: don't trim comments content
* fix: `script` and `style` tags output
* feat: indent `head` and `body` inside `html`
* fix: better handle quotes around attribute value
* feat: better handle embed
* tests: svg into html
* fix: better handle boolean and empty attributes
* chore(deps): update `parse5` to latest version
* fix: better handle empty attribute
* tests: fix
* fix: extra newline in multiline node
* fix: print `pre` and `textarea` in right way
* tests: xhtml doctype
* fix: use `>` instead `/>`
* tests: case
* refactor: remove `toLowerCase()`
* feat: support `prettier-ignore`
* tests: empty `script` and `style` tags
* fix: clean
* tests: refactor and more