* Add additional binary expression comment tests
Refs #3806
These cover a few edge cases I encountered while maintaining
`@btmills/prettier` over the last few years. I'm adding them up front to
demonstrate that the `experimentalOperatorPosition` changes in a later
commit have no effect on this formatting when the flag is not enabled.
* Define experimentalOperatorPosition flag
Refs #3806
This merely defines the flag. A future commit will use it in updated
logic.
* Add experimentalOperatorPosition default tests
Right now, this flag isn't implemented, so these tests duplicate the
existing behavior. I'm adding them now so that when I implement the
flag's logic in a future commit, the changed formatting will be obvious
in the diff and easier to review.
* Implement experimentalOperatorPosition flag
Fixes#3806 as requested in https://github.com/prettier/prettier/pull/7111#issuecomment-2252623779
The flag's tests were already added in a previous commit, so the test
changes you see in this commit are specifically due to the new flag's
implementation.
* Document experimentalOperatorPosition flag
* Change operator position option start|end
In response to https://github.com/prettier/prettier/pull/7111#discussion_r1729382119
* Add TS intersection line wrapping tests
This clones TypeScript's type union operator tests in `union-parens.ts`
and swaps the operators (& <-> |) to test the the type interesection
operator. It also runs intersection tests with the new
`experimentalOperatorPosition: "start"` flag. This does _not_ yet update
the implementation to consider the flag; to ease review, I'll make that
change in the next commit to isolate the impact of the change.
* Apply experimentalOperatorPosition: start to type intersections
The type union operator was already formatted at the beginning of lines
by default, so that logic didn't need to be updated.
* Update 7111.md
* Update tests after rebasing
I rebased from 1dfe28f85 to c7066780e to fix test failures related to
https://github.com/prettier/prettier/pull/16601. The rebase applied
cleanly, and this was the only change to tests. Since the PR has
already been approved, I'll keep this as a separate commit rather than
squashing into the prior commits.
---------
Co-authored-by: fisker Cheung <lionkay@gmail.com>
Co-authored-by: SUZUKI Sosuke <aosukeke@gmail.com>
* Clarify documentation around proseWrap
These docs were a bit misleading, describing never as "opt-out" when it in fact can result in massive changes in an existing wrapped file is confusing, and referring to the default behavior as "wrapping as-is" is confusing, because Prettier isn't actually doing any wrapping - it's just leaving it as-is. Hopefully this is clearer.
* Update stable version docs
Co-authored-by: fisker Cheung <lionkay@gmail.com>
* deprecate jsxBracketSameLine in favour of multi-language angleBracketSameLine option
* update docs and snapshots
* update tests to to make them more reviewable
* Rewrite angular tests
* Rewrite html tests
* Rewrite vue tests
* Restore unnecessary changes in jsx
* Fix file location
* Test both `true` and `false`
* Revert changes in markdown
* Run tests on all js parsers
* Improve html test
* fix changelog comment
* move bracketSameLine to common options
* mark jsxBracketSameLine as deprecated
* Update changelog_unreleased/html/11006.md
Co-authored-by: fisker Cheung <lionkay@gmail.com>
* Update 11006.md
* fix tests by removing `jsxBracketSameLine` `default` property
* fix style
* Revert docs under website dir
* Add tests for deprecated options
* Fix lint problems
Co-authored-by: fisker Cheung <lionkay@gmail.com>
Co-authored-by: sosukesuzuki <aosukeke@gmail.com>
* Handlebars: Default --html-whitespace-sensitivity to strict
* Record tests other than handlebars
* Trim trailing newlines
* Record tests
* Fix rebase
* Record all tests not only hbs
* Fix the idempotency issue
Adjust dedent for the last child node
* Fix the annoying trailing whitespace
* Trim isolated leading newline