| 40 columns | |
| >>> space-separated adjacent strings are not split if they fit |
| var name = new Symbol("the first string" "the second"); |
| <<< |
| var name = new Symbol( |
| "the first string" "the second"); |
| >>> space-separated adjacent strings are split if they don't fit |
| var name = new Symbol("the first very long string" "the second very longstring"); |
| <<< |
| var name = new Symbol( |
| "the first very long string" |
| "the second very longstring"); |
| >>> adjacent string lines all split together; |
| var text = "first" "second" "third" "fourth" "fifth"; |
| <<< |
| var text = "first" |
| "second" |
| "third" |
| "fourth" |
| "fifth"; |
| >>> preserve one newline between adjacent strings |
| var name = "the first string" |
| "the second string" |
| |
| |
| |
| "the third string"; |
| <<< |
| var name = "the first string" |
| "the second string" |
| "the third string"; |
| >>> conditions, same operator |
| if (identifier || identifier || identifier || identifier) { |
| } |
| <<< |
| if (identifier || |
| identifier || |
| identifier || |
| identifier) {} |
| >>> conditions, different operators |
| if (identifier && identifier || identifier |
| && identifier) { |
| } |
| <<< |
| if (identifier && identifier || |
| identifier && identifier) {} |
| >>> split conditional because condition doesn't fit |
| var kind = longElement != otherLongElement ? longArgument : arg; |
| <<< |
| var kind = |
| longElement != otherLongElement |
| ? longArgument |
| : arg; |
| >>> split conditional because condition splits |
| var kind = longElement != otherReallyLongElement ? longArgument : arg; |
| <<< |
| var kind = longElement != |
| otherReallyLongElement |
| ? longArgument |
| : arg; |
| >>> split conditional because then doesn't fit |
| var kind = element != null ? longArgument : arg; |
| <<< |
| var kind = element != null |
| ? longArgument |
| : arg; |
| >>> split conditional because else doesn't fit |
| var kind = element != null ? argument : secondArgumentThatIsReallyLong; |
| <<< |
| var kind = element != null |
| ? argument |
| : secondArgumentThatIsReallyLong; |
| >>> split all conditionals when nested |
| var kind = a ? b ? c : d : e; |
| <<< |
| var kind = a |
| ? b |
| ? c |
| : d |
| : e; |
| >>> split all conditionals when nested |
| var kind = a ? b : c ? d : e; |
| <<< |
| var kind = a |
| ? b |
| : c |
| ? d |
| : e; |
| >>> don't split conditionals when indirectly nested |
| var kind = a ? b : (c ? d : e); |
| <<< |
| var kind = a ? b : (c ? d : e); |
| >>> split operator chain around block |
| first + second + () {body;} + third + fourth; |
| <<< |
| first + |
| second + |
| () { |
| body; |
| } + |
| third + |
| fourth; |
| >>> indent previous line farther because later line is nested deeper |
| someFunction(someExtremelyLongArgumentName).clamp(); |
| <<< |
| someFunction( |
| someExtremelyLongArgumentName) |
| .clamp(); |
| >>> wrap inside parenthesized |
| (someVerylongIdentifier * someVerylongIdentifier); |
| <<< |
| (someVerylongIdentifier * |
| someVerylongIdentifier); |
| >>> same operator inside parenthesized is treated independently |
| (identifier * (identifier * identifier) * identifier); |
| <<< |
| (identifier * |
| (identifier * identifier) * |
| identifier); |
| >>> nested parenthesized are indented more |
| (identifier * (verylongIdentifier * verylongIdentifier) * identifier); |
| <<< |
| (identifier * |
| (verylongIdentifier * |
| verylongIdentifier) * |
| identifier); |
| >>> conditional operands are nested |
| identifier ? identifier ? someParticularlyLongOperand : someParticularlyLongOperand : identifier ? someParticularlyLongOperand : someParticularlyLongOperand; |
| <<< |
| identifier |
| ? identifier |
| ? someParticularlyLongOperand |
| : someParticularlyLongOperand |
| : identifier |
| ? someParticularlyLongOperand |
| : someParticularlyLongOperand; |
| >>> index expressions can split after "[" |
| verylongIdentifier[someParticularlyLongArgument]; |
| <<< |
| verylongIdentifier[ |
| someParticularlyLongArgument]; |
| >>> index arguments nest |
| verylongIdentifier[someParticularlyLongArgument[someParticularlyLongArgument]]; |
| <<< |
| verylongIdentifier[ |
| someParticularlyLongArgument[ |
| someParticularlyLongArgument]]; |
| >>> successive index arguments |
| identifier[longArgument][longArgument][longArgument][longArgument][longArgument]; |
| <<< |
| identifier[longArgument][longArgument] |
| [longArgument][longArgument] |
| [longArgument]; |
| >>> null-aware indexes |
| identifier?[longArgument][longArgument]?[longArgument][longArgument]?[longArgument]; |
| <<< |
| identifier?[longArgument][longArgument] |
| ?[longArgument][longArgument] |
| ?[longArgument]; |
| >>> is |
| verylongIdentifier.property is LongTypeName; |
| <<< |
| verylongIdentifier.property |
| is LongTypeName; |
| >>> as |
| verylongIdentifier.property as LongTypeName; |
| <<< |
| verylongIdentifier.property |
| as LongTypeName; |
| >>> null coalescing operator |
| identifier&&identifier&&identifier&&identifier; |
| <<< |
| identifier && |
| identifier && |
| identifier && |
| identifier; |
| >>> "." in named constructor |
| new VeryLongClassName.veryLongNamedConstructor(); |
| <<< |
| new VeryLongClassName |
| .veryLongNamedConstructor(); |