Use explicit key format when mapping key wraps (#18330)

Co-authored-by: fisker Cheung <lionkay@gmail.com>
This commit is contained in:
Konv Suuandfisker Cheung authored and GitHub committed 2025-12-25 20:52:29 +08:00
1 parent f2f97751a1
commit e82248225a
5 files changed
+53 -1

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
#### Fix mapping format when the key wraps (#18330 by @kovsu)
<!-- prettier-ignore -->
```yaml
# Input
long long long long long long long long long long long long long long long long long long key: bar
# Prettier stable (--prose-wrap=always)
long long long long long long long long long long long long long long long long
long long key: bar
# Prettier main (--prose-wrap=always)
? long long long long long long long long long long long long long long long
long long long key
: bar
```
+2 -1
View File
@@ -76,7 +76,8 @@ function printMappingItem(path, options, print) {
!hasLeadingComments(value.content) && !hasLeadingComments(value.content) &&
!hasMiddleComments(value.content) && !hasMiddleComments(value.content) &&
!hasEndComments(value) && !hasEndComments(value) &&
isAbsolutelyPrintedAsSingleLineNode(value.content, options) isAbsolutelyPrintedAsSingleLineNode(value.content, options) &&
isAbsolutelyPrintedAsSingleLineNode(key.content, options)
) { ) {
return [printedKey, spaceBeforeColon, ": ", printedValue]; return [printedKey, spaceBeforeColon, ": ", printedValue];
} }
@@ -0,0 +1,32 @@
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
exports[`test.yml - {"proseWrap":"always"} format 1`] = `
====================================options=====================================
parsers: ["yaml"]
printWidth: 80
proseWrap: "always"
| printWidth
=====================================input======================================
long long long long long long long long long long long long long long long long long long key: bar
=====================================output=====================================
? long long long long long long long long long long long long long long long
long long long key
: bar
================================================================================
`;
exports[`test.yml format 1`] = `
====================================options=====================================
parsers: ["yaml"]
printWidth: 80
| printWidth
=====================================input======================================
long long long long long long long long long long long long long long long long long long key: bar
=====================================output=====================================
long long long long long long long long long long long long long long long long long long key: bar
================================================================================
`;
@@ -0,0 +1,2 @@
runFormatTest(import.meta, ["yaml"]);
runFormatTest(import.meta, ["yaml"], { proseWrap: "always" });
@@ -0,0 +1 @@
long long long long long long long long long long long long long long long long long long key: bar