Fix comments on separators and handling message literals and compound strings in options #3325
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.
This fixes some issues in the formatter for handling trailing comments
on separators (
,
and;
) in message literals. These comments are addedto the element if the element itself did not have trailing comments. However,
the comments that were added to message and array literal elements are
"left behind" because they are not being handled. This PR adds logic that
handles these comments similar to how comments on separators are handled --
it checks array and message literals for any trailing comments that may have been
added in this manner and adds them to closing brackets, if the closing brackets
did not have comments originally. Tests have been added for these cases.
In the process of testing, we also found an additional bug, where empty message
literals were not being handled as compact messages and compound strings in
options were not being written with their ends in-line for trailing commas.
Fixes #3322