go-yaml
go-yaml copied to clipboard
feat: preserve line breaks from original input
Motivation
Preserve the line breaks from input.
We use this project as dependency in a project that round trips YAML, this attempts to try and preserve the formatting. It will only ever add one line break between lines regardless of input.
Changes
- add
checkLineBreak
method that uses the previous token to calculate if there should be a line break - account for
token.SequenceEntryType
using the previous token of that. - ensure multiline strings are accounted for in the logic
- add a new table test
- update existing test to validate string output has changed
- update existing tests to output differences on failure
Checks
- [x] Describe the purpose for which you created this PR.
- [x] Create test code that corresponds to the modification
Codecov Report
Merging #412 (bf7faf1) into master (0640a15) will not change coverage. The diff coverage is
n/a
.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@ Coverage Diff @@
## master #412 +/- ##
=======================================
Coverage 76.02% 76.02%
=======================================
Files 13 13
Lines 4692 4692
=======================================
Hits 3567 3567
Misses 866 866
Partials 259 259
@goccy I'd be interested to get your thoughts on this.
If you specifically have reservations/thoughts on how the change could be behind a feature flag for backwards compatibility, let me know.
@goccy Kindly pinging you in cased you missed the previous notification. It would be awesome to see this pullrequest moving forward