| 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}) { |
| ; |
| } |