Skip to content

Commit 7936296

Browse files
feat: better print entry node (prettier#562)
1 parent 5b6a918 commit 7936296

6 files changed

Lines changed: 83 additions & 43 deletions

File tree

β€Žsrc/printer.jsβ€Ž

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,7 +1174,9 @@ function printAssignmentRight(leftNode, rightNode, printedRight) {
11741174
(rightNode.kind === "retif" &&
11751175
rightNode.test.kind === "bin" &&
11761176
!shouldInlineLogicalExpression(rightNode.test)) ||
1177-
((leftNode.kind === "variable" || isLookupNode(leftNode)) &&
1177+
((leftNode.kind === "variable" ||
1178+
leftNode.kind === "string" ||
1179+
isLookupNode(leftNode)) &&
11781180
((rightNode.kind === "string" && !rightNode.raw.includes("\n")) ||
11791181
isLookupNodeChain(rightNode)));
11801182

@@ -2450,31 +2452,15 @@ function printNode(path, options, print) {
24502452

24512453
return concat(parts);
24522454
}
2453-
case "entry": {
2454-
const dangling = comments.printDanglingComments(
2455-
path,
2456-
options,
2457-
/* sameLine */ true
2455+
case "entry":
2456+
return printAssignment(
2457+
node.key,
2458+
path.call(print, "key"),
2459+
" =>",
2460+
node.value,
2461+
path.call(print, "value"),
2462+
options
24582463
);
2459-
const printedComments = dangling ? concat([hardline, dangling]) : "";
2460-
const printed = concat([path.call(print, "value"), printedComments]);
2461-
2462-
if (node.key) {
2463-
return group(
2464-
concat([
2465-
path.call(print, "key"),
2466-
" =>",
2467-
["array", "call", "closure", "retif", "number"].includes(
2468-
node.value.kind
2469-
)
2470-
? concat([" ", printed])
2471-
: indent(concat([line, printed]))
2472-
])
2473-
);
2474-
}
2475-
2476-
return printed;
2477-
}
24782464
case "traituse":
24792465
return group(
24802466
concat([

β€Žtests/array/__snapshots__/jsfmt.spec.js.snapβ€Ž

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -681,12 +681,13 @@ $array = [
681681
'key-two' => true
682682
? 1
683683
: 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString',
684-
'key-two' => 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
685-
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
686-
? 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
687-
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
688-
: 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
689-
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
684+
'key-two' =>
685+
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
686+
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
687+
? 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
688+
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
689+
: 'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString' .
690+
'VeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongString'
690691
];
691692
692693
$array = [

β€Žtests/foreach/__snapshots__/jsfmt.spec.js.snapβ€Ž

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,8 @@ foreach (
140140
foreach (
141141
$points
142142
as [
143-
"veryVeryVeryVeryVeryVeryVeryLongKey" =>
144-
$veryVeryVeryVeryVeryVeryVeryVeryLongX,
145-
"veryVeryVeryVeryVeryVeryVeryLongKey" =>
146-
$veryVeryVeryVeryVeryVeryVeryVeryLongY
143+
"veryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryLongX,
144+
"veryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryLongY
147145
]
148146
) {
149147
var_dump($x, $y);

β€Žtests/list/__snapshots__/jsfmt.spec.js.snapβ€Ž

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,8 @@ list(
142142
"veryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryLongValue
143143
) = $data[0];
144144
list(
145-
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" =>
146-
$veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue,
147-
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" =>
148-
$veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue
145+
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue,
146+
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue
149147
) = $data[0];
150148
151149
foreach ($data as list("id" => $id, "name" => $name)) {
@@ -165,10 +163,8 @@ foreach (
165163
foreach (
166164
$data
167165
as list(
168-
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" =>
169-
$veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue,
170-
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" =>
171-
$veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue
166+
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue,
167+
"veryVeryVeryVeryVeryVeryVeryVeryVeryLongKey" => $veryVeryVeryVeryVeryVeryVeryVeryVeryLongValue
172168
)
173169
) {
174170
// logic here with $id and $name

β€Žtests/retif/__snapshots__/jsfmt.spec.js.snapβ€Ž

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ $var = $test
5555
? $someOtherReallyReallyLongVariable
5656
: $someOtherReallyReallyLongVariable)
5757
: 'string';
58+
59+
$arr = [
60+
'step' => !empty($field['sliderStep']) && $field['sliderStep']
61+
? (int) $field['sliderStep']
62+
: 1,
63+
'step' => true ? (int) $field['sliderStep'] : 1,
64+
'step' => true ? $someOtherReallyReallyLongVariable . $someOtherReallyReallyLongVariable : 1,
65+
'step' => $someOtherReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
66+
'step' => $someOtherReallyReallyLongVariable . 'string' ? (int) $field['sliderStep'] : 1,
67+
'step' => $someOtherReallyReallyLongVariable . $someOtherReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
68+
'step' => $someOtherReallyReallyReallyReallyLongVariable . $someOtherReallyReallyReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
69+
'step' => $someOtherReallyReallyReallyReallyLongVariable && $someOtherReallyReallyReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
70+
];
5871
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5972
<?php
6073
@@ -181,4 +194,37 @@ $var = $test
181194
: $someOtherReallyReallyLongVariable)
182195
: 'string';
183196
197+
$arr = [
198+
'step' =>
199+
!empty($field['sliderStep']) && $field['sliderStep']
200+
? (int) $field['sliderStep']
201+
: 1,
202+
'step' => true ? (int) $field['sliderStep'] : 1,
203+
'step' => true
204+
? $someOtherReallyReallyLongVariable .
205+
$someOtherReallyReallyLongVariable
206+
: 1,
207+
'step' => $someOtherReallyReallyLongVariable
208+
? (int) $field['sliderStep']
209+
: 1,
210+
'step' =>
211+
$someOtherReallyReallyLongVariable . 'string'
212+
? (int) $field['sliderStep']
213+
: 1,
214+
'step' =>
215+
$someOtherReallyReallyLongVariable . $someOtherReallyReallyLongVariable
216+
? (int) $field['sliderStep']
217+
: 1,
218+
'step' =>
219+
$someOtherReallyReallyReallyReallyLongVariable .
220+
$someOtherReallyReallyReallyReallyLongVariable
221+
? (int) $field['sliderStep']
222+
: 1,
223+
'step' =>
224+
$someOtherReallyReallyReallyReallyLongVariable &&
225+
$someOtherReallyReallyReallyReallyLongVariable
226+
? (int) $field['sliderStep']
227+
: 1
228+
];
229+
184230
`;

β€Žtests/retif/retif.phpβ€Ž

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,16 @@
5252
? $someOtherReallyReallyLongVariable
5353
: $someOtherReallyReallyLongVariable)
5454
: 'string';
55+
56+
$arr = [
57+
'step' => !empty($field['sliderStep']) && $field['sliderStep']
58+
? (int) $field['sliderStep']
59+
: 1,
60+
'step' => true ? (int) $field['sliderStep'] : 1,
61+
'step' => true ? $someOtherReallyReallyLongVariable . $someOtherReallyReallyLongVariable : 1,
62+
'step' => $someOtherReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
63+
'step' => $someOtherReallyReallyLongVariable . 'string' ? (int) $field['sliderStep'] : 1,
64+
'step' => $someOtherReallyReallyLongVariable . $someOtherReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
65+
'step' => $someOtherReallyReallyReallyReallyLongVariable . $someOtherReallyReallyReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
66+
'step' => $someOtherReallyReallyReallyReallyLongVariable && $someOtherReallyReallyReallyReallyLongVariable ? (int) $field['sliderStep'] : 1,
67+
];

0 commit comments

Comments
 (0)