blob: 5726ae24b643f548057b826be5c896a4064607f4 [file] [log] [blame]
40 columns |
>>> Maps.
switch (obj) {
case { } :
case < int , String > { } :
case { k : _ } :
case { k : _ , } :
case { k : 1 , m : 2 } :
case { ... } :
case { k : _ , ... } :
ok;
}
<<<
switch (obj) {
case {}:
case <int, String>{}:
case {k: _}:
case {k: _}:
case {k: 1, m: 2}:
case {...}:
case {k: _, ...}:
ok;
}
>>> Unsplit map.
if (obj case {k: 1, m: 3, ...}) {;}
<<<
if (obj case {k: 1, m: 3, ...}) {
;
}
>>> If it splits anywhere, it splits at every element.
if (obj case {first: 1,second: 2,third: 3}) {;}
<<<
if (obj case {
first: 1,
second: 2,
third: 3,
}) {
;
}
>>> Nested map patterns don't force outer to split.
if (obj case {a: {k: 1}, m: [{k: 3}]}) {;}
<<<
if (obj case {a: {k: 1}, m: [{k: 3}]}) {
;
}
>>> Tall splitting style with line comment.
if (obj case {
// yeah
a:1,b:2,c:3,
d:4,e:5,f:6,
}) {;}
<<<
if (obj case {
// yeah
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
f: 6,
}) {
;
}
>>> Remove trailing comma if unsplit.
if (obj case {k:1,}) {;}
<<<
if (obj case {k: 1}) {
;
}
>>> Remove trailing comma if unsplit, multiple.
if (e case {a: 1, b: 2,}) {}
<<<
if (e case {a: 1, b: 2}) {}
>>> Add comma to map pattern if split.
if (e case {a: longPattern1, b: veryLongPattern2}) {}
<<<
if (e case {
a: longPattern1,
b: veryLongPattern2,
}) {}
>>> Split inside value forces map to split.
if (obj case {firstKey: first, secondKey: secondLongPattern ||thirdLongPattern}) {;}
<<<
if (obj case {
firstKey: first,
secondKey:
secondLongPattern ||
thirdLongPattern,
}) {
;
}
>>> A nested non-empty list pattern doesn't force the map pattern to split.
var {k: [v]} = value;
<<<
var {k: [v]} = value;
>>> A nested non-empty map pattern doesn't force the map pattern to split.
var {k: {k: v}} = value;
<<<
var {k: {k: v}} = value;
>>> A nested non-empty record pattern doesn't force the map pattern to split.
var {k: (v,)} = value;
<<<
var {k: (v,)} = value;
>>> Remove blank lines before first and last entries. Preserve one between.
if (obj case {
firstField: 1,
secondField: 2,
thirdField: 3
}) {;}
<<<
if (obj case {
firstField: 1,
secondField: 2,
thirdField: 3,
}) {
;
}
>>> Discard blank lines if doesn't need to split.
if (obj case {
a: 1,
b: 2,
c: 3
}) {;}
<<<
if (obj case {a: 1, b: 2, c: 3}) {
;
}