-
-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Description
Description
We're struggling to use yamlfix when there are multiple YAML documents in a single file, but we don't want to enforce an explicit start marker at the top.
Example scenario:
book_library:
- title: Why we sleep
author: Matthew Walker
- title: Harry Potter and the Methods of Rationality
author: Eliezer Yudkowsky
---
book_library:
- title: Why We Matter
author: Emeka Anyaoku
- title: Harry Potter and the Goblet of Fire
author: J.K. Rowling
---
book_library:
- title: No Sleep Till Brooklyn
author: Beastie Boys
- title: Harry Potter and the Half-Blood Prince
author: J.K. Rowling
Current behavior:
- With
explicit_start = true,yamlfixadds---at the start and end of the file, which we do not want.
---
book_library:
- title: Why we sleep
author: Matthew Walker
- title: Harry Potter and the Methods of Rationality
author: Eliezer Yudkowsky
---
book_library:
- title: Why We Matter
author: Emeka Anyaoku
- title: Harry Potter and the Goblet of Fire
author: J.K. Rowling
---
book_library:
- title: No Sleep Till Brooklyn
author: Beastie Boys
- title: Harry Potter and the Half-Blood Prince
author: J.K. Rowling
- With
explicit_start = false, all---markers are removed, causing key duplication and breaking multi-document structure.
book_library:
- title: Why we sleep
author: Matthew Walker
- title: Harry Potter and the Methods of Rationality
author: Eliezer Yudkowsky
book_library:
- title: Why We Matter
author: Emeka Anyaoku
- title: Harry Potter and the Goblet of Fire
author: J.K. Rowling
book_library:
- title: No Sleep Till Brooklyn
author: Beastie Boys
- title: Harry Potter and the Half-Blood Prince
author: J.K. Rowling
Expected Behavior
Provide an option to:
- Preserve existing
---markers between documents. - Avoid adding
---at the end of the file. - Optionally allow a single
---at the start (front matter) only if requested.
Possible Solution
Introduce a new configuration option, for example:
# Preserve multi-document separators but do not add trailing markers
document_markers = "preserve" # keeps existing '---' between documents, no extra at end
# Or allow explicit modes:
document_markers = "front_matter_only" # adds one '---' at start, preserves others
document_markers = "remove_all" # removes all markersMetadata
Metadata
Assignees
Labels
No labels