Fix Emitter to handle comments between a mapping key and a mapping/sequence value #814
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 PR fixes #812
TL;DR the Emitter doesn't handle comment events that are emitted between a mapping key and a mapping value of the mapping or sequence type. So parsing and regenerate the following yaml will fail for example:
becomes
This PR moves the writing of the
:
symbol to be inside the block mapping key emission. Previously it was at the beginning of the block mapping value emission. If the mapping key is prefixed with a?
(explicit form), however, the:
is still kept at the mapping value to preserve the existing behaviour, since in the explicit form, the comment does not break YAML syntax. That is,is valid.