* feat: implement --vue-indent-script-and-style mentioned at pr-#6077
* docs: --vue-indent-script-and-style
* update new test case
* feat: playground for --vue-indent-script-and-style
* chores: Revert package.json version
* Remove noisy snapshots
* fix: adjacent JSX elements should be allowed in mdx
* chore: update CHANGELOG.unreleased.md for PR
* fix: adjacent JSX elements format issue of line
* fix: get html text from ast correctly
* fix: self closing issue
* fix: finally find out how to get original text from position
* chore: reset unnecessary changes
* fix: additional text after jsx should also be allowed
* fix: regression of empty text
* docs: add missing links
* fix linting...
* Modify to add traling comma only for allow-function
* Add tests
* Update CHANGELOG.unreleased.md
* Add pr number and link
* Modify to improve RegExp to detect tsx file
* Fix closure type cast without spaces
Closure typecasts don't require a space between the `@type` and opening `{`.
* More tests, and add a changelog entry
A simple template literal is initially defined as a literal wherein all the expressions are identifiers or member access expressions where all parts are identifiers. We print these expressions into strings with infinite print width before printing the template.
* Use same print width for range formatting as normal formatting.
Fixes an issue were a file would end up formatted differently
with ranged formatting (--range-start & --range-end) versus
normal whole file formatting.
* Document range bugfix in changelog.
* Fix closure compiler type casts
This fixes casts when they are followed by a closing parenthesis, eg:
```js
foo( /** @type {!Array} */(arrOrString).length );
```
The old code would see the `CallExpresion`'s closing `)` and assume the typecast belonged to the `MemberExpression`, not the `arrOrString` `Identifier`.
This would be easier to accomplish if every AST would tell us if the expression were parenthesized. If they did, we could check that the node were parenthesized and either it or an ancestor has a typecast, stopping when we find an ancestor is itself parenthesized.
* More tests, and changelog
* Fix while loop
* Update changelog
* Update CHANGELOG.unreleased.md
* Use babel's parenthesized information
* Cleanup call
Fragment variables are an experimental extension to GraphQL schema.
Formatting should follow the same rules as formatting an OperationDefinition node,
hence code is the same.