blob: ea7c95b9f0f47f02cc11b42475f85db8d3301fad [file] [log] [blame]
40 columns |
>>> Empty.
e = switch(y) {};
<<<
e = switch (y) {};
>>> All one line.
e = switch (c) { 0 => a, 1 => b };
<<<
e = switch (c) { 0 => a, 1 => b };
>>> One case per line.
e = switch (c) { 0 => first, 1 => second };
<<<
e = switch (c) {
0 => first,
1 => second,
};
>>> Remove trailing comma if cases fit on one line.
e = switch (c) { 0 => a, 1 => b, };
<<<
e = switch (c) { 0 => a, 1 => b };
>>> Split some cases at "=>" but not all.
e = switch (c) {
first => a,
second => veryLongExpression + thatSplits,
third => c
};
<<<
e = switch (c) {
first => a,
second =>
veryLongExpression + thatSplits,
third => c,
};
>>> Discard newlines between cases.
e = switch (obj) {
0 => a,
1 => b,
2 => c
};
<<<
e = switch (obj) {
0 => a,
1 => b,
2 => c,
};
>>> Don't split at parentheses.
e = switch ("a long string that must wrap") {
0 => "ok"
};
<<<
e = switch ("a long string that must wrap") {
0 => "ok",
};
>>> Split in delimited value expression.
e = switch ([veryLongElement,veryLongElement,veryLongElement,]) {
0 => "ok"
};
<<<
e = switch ([
veryLongElement,
veryLongElement,
veryLongElement,
]) {
0 => "ok",
};
>>> Split in case expression.
e = switch (obj) {
1 => veryLongExpression + thatStillMustSplit
};
<<<
e = switch (obj) {
1 =>
veryLongExpression +
thatStillMustSplit,
};
>>> Prefer to split after "=>" instead of body.
e = switch (obj) {
longConstant => longExpression + thatMustSplit
};
<<<
e = switch (obj) {
longConstant =>
longExpression + thatMustSplit,
};
>>> Split after "=>" and in body.
e = switch (obj) {
longConstant => veryLongLongExpression + thatMustSplit
};
<<<
e = switch (obj) {
longConstant =>
veryLongLongExpression +
thatMustSplit,
};
>>> Expression split in pattern.
e = switch (obj) {
veryVeryLongPattern && reallyMustSplit => body
};
<<<
e = switch (obj) {
veryVeryLongPattern &&
reallyMustSplit =>
body,
};
>>> Outermost logic-or patterns are indented like parallel cases.
e = switch (obj) {
oneConstant || twoConstant || threeConstant => body
};
<<<
e = switch (obj) {
oneConstant ||
twoConstant ||
threeConstant =>
body,
};
>>> Nested logic-or operands are indented.
e = switch (obj) {
[oneConstant || twoConstant || threeConstant] => body
};
<<<
e = switch (obj) {
[
oneConstant ||
twoConstant ||
threeConstant,
] =>
body,
};
>>> Block split in pattern.
e = switch (obj) {
[veryLongElement,veryLongElement,veryLongElement,] => body
};
<<<
e = switch (obj) {
[
veryLongElement,
veryLongElement,
veryLongElement,
] =>
body,
};
>>> Unsplit pattern with trailing block split body.
e = switch (obj) {
pattern => function(veryLongElement,veryLongElement,veryLongElement)
};
<<<
e = switch (obj) {
pattern => function(
veryLongElement,
veryLongElement,
veryLongElement,
),
};
>>> Split pattern with block split body.
e = switch (obj) {
pattern && anotherPattern && aThirdOne => function(veryLongElement,veryLongElement,veryLongElement)
};
<<<
e = switch (obj) {
pattern &&
anotherPattern &&
aThirdOne =>
function(
veryLongElement,
veryLongElement,
veryLongElement,
),
};