@@ -1544,6 +1544,26 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
1544
1544
arrangeEnumCaseParameterClause ( associatedValue, forcesBreakBeforeRightParen: false )
1545
1545
}
1546
1546
1547
+ if let initializer = node. rawValue {
1548
+ if let ( unindentingNode, _, breakKind, shouldGroup) =
1549
+ stackedIndentationBehavior ( rhs: initializer. value)
1550
+ {
1551
+ var openTokens : [ Token ] = [ . break( . open( kind: breakKind) ) ]
1552
+ if shouldGroup {
1553
+ openTokens. append ( . open)
1554
+ }
1555
+ after ( initializer. equal, tokens: openTokens)
1556
+
1557
+ var closeTokens : [ Token ] = [ . break( . close( mustBreak: false ) , size: 0 ) ]
1558
+ if shouldGroup {
1559
+ closeTokens. append ( . close)
1560
+ }
1561
+ after ( unindentingNode. lastToken ( viewMode: . sourceAccurate) , tokens: closeTokens)
1562
+ } else {
1563
+ after ( initializer. equal, tokens: . break( . continue) )
1564
+ }
1565
+ }
1566
+
1547
1567
return . visitChildren
1548
1568
}
1549
1569
@@ -2275,12 +2295,13 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
2275
2295
override func visit( _ node: InitializerClauseSyntax ) -> SyntaxVisitorContinueKind {
2276
2296
before ( node. equal, tokens: . space)
2277
2297
2278
- // InitializerClauses that are children of a PatternBindingSyntax or
2298
+ // InitializerClauses that are children of a PatternBindingSyntax, EnumCaseElementSyntax, or
2279
2299
// OptionalBindingConditionSyntax are already handled in the latter node, to ensure that
2280
2300
// continuations stack appropriately.
2281
2301
if let parent = node. parent,
2282
2302
!parent. is ( PatternBindingSyntax . self)
2283
2303
&& !parent. is ( OptionalBindingConditionSyntax . self)
2304
+ && !parent. is ( EnumCaseElementSyntax . self)
2284
2305
{
2285
2306
after ( node. equal, tokens: . break)
2286
2307
}
0 commit comments