go-yaml icon indicating copy to clipboard operation
go-yaml copied to clipboard

feat: preserve line breaks from original input

Open mcwarman opened this issue 1 year ago • 3 comments

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

mcwarman avatar Dec 15 '23 16:12 mcwarman

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           

codecov-commenter avatar Dec 15 '23 16:12 codecov-commenter

@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.

mcwarman avatar Jan 02 '24 14:01 mcwarman

@goccy Kindly pinging you in cased you missed the previous notification. It would be awesome to see this pullrequest moving forward

olblak avatar Apr 29 '24 07:04 olblak