challenge(formatter): Attach comments to labels #730
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This partially fixes js/comments/break-continue-statements.js.
Prettier has a dedicated syntax node for labels. This allows attaching comments to the label. Biome has n osuch node and thus moves comments at the end of the statement.
To fix the difference, I introduced a new CST node
JsLabel
.The node have to be introduced for
JsBreakStatement
andJsContinueSTatement
. For uniformity, I also usedJsLabel
forJsLabeledSatteement
. Alternatively, we could still directly use a token forJsLabeledSatteement
or differentiateJsLabel
intoJsLabelReference
andJsLabelBinding
. Any opinion?For now, leading comments are correctly attached to the label.
I encounter an issue with trailing comments: when I changed the code to attach them to the label I got a reformat instability.
Test Plan
Updated.