dart-lang / yaml_edit

A library for YAML manipulation with comment and whitespace preservation.
https://pub.dev/packages/yaml_edit
BSD 3-Clause "New" or "Revised" License
27 stars 16 forks source link

Refactor comment skipping #93

Closed kekavc24 closed 2 months ago

kekavc24 commented 2 months ago

This PR improves #90 further by:

  1. Lazily looking ahead for comments and aligns skipAndExtractComments with existing YamlEditor behaviour. The function now reverts back to the first line break it encountered when it looked ahead for comments by default
  2. Allowing callers of skipAndExtractComments to explicitly specify whether it should greedily look ahead for comments.
  3. Preventing the trailing line break for YamlScalars with the ScalarStyles plain, any, folded or literal from being pruned (may need additional tests to disprove ScalarStyle.PLAIN or ScalarStye.ANY)

Further changes made in #94


Contribution guidelines:
- See our [contributor guide](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md) for general expectations for PRs. - Larger or significant changes should be discussed in an issue before creating a PR. - Contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`. - Most changes should add an entry to the changelog and may need to [rev the pubspec package version](https://github.com/dart-lang/sdk/blob/main/docs/External-Package-Maintenance.md#making-a-change). - Changes to packages require [corresponding tests](https://github.com/dart-lang/.github/blob/main/CONTRIBUTING.md#Testing). Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.