@@ -1545,6 +1545,26 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
1545
1545
arrangeEnumCaseParameterClause ( associatedValue, forcesBreakBeforeRightParen: false )
1546
1546
}
1547
1547
1548
+ if let initializer = node. rawValue {
1549
+ if let ( unindentingNode, _, breakKind, shouldGroup) =
1550
+ stackedIndentationBehavior ( rhs: initializer. value)
1551
+ {
1552
+ var openTokens : [ Token ] = [ . break( . open( kind: breakKind) ) ]
1553
+ if shouldGroup {
1554
+ openTokens. append ( . open)
1555
+ }
1556
+ after ( initializer. equal, tokens: openTokens)
1557
+
1558
+ var closeTokens : [ Token ] = [ . break( . close( mustBreak: false ) , size: 0 ) ]
1559
+ if shouldGroup {
1560
+ closeTokens. append ( . close)
1561
+ }
1562
+ after ( unindentingNode. lastToken ( viewMode: . sourceAccurate) , tokens: closeTokens)
1563
+ } else {
1564
+ after ( initializer. equal, tokens: . break( . continue) )
1565
+ }
1566
+ }
1567
+
1548
1568
return . visitChildren
1549
1569
}
1550
1570
@@ -2292,12 +2312,13 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
2292
2312
override func visit( _ node: InitializerClauseSyntax ) -> SyntaxVisitorContinueKind {
2293
2313
before ( node. equal, tokens: . space)
2294
2314
2295
- // InitializerClauses that are children of a PatternBindingSyntax or
2315
+ // InitializerClauses that are children of a PatternBindingSyntax, EnumCaseElementSyntax, or
2296
2316
// OptionalBindingConditionSyntax are already handled in the latter node, to ensure that
2297
2317
// continuations stack appropriately.
2298
2318
if let parent = node. parent,
2299
2319
!parent. is ( PatternBindingSyntax . self)
2300
2320
&& !parent. is ( OptionalBindingConditionSyntax . self)
2321
+ && !parent. is ( EnumCaseElementSyntax . self)
2301
2322
{
2302
2323
after ( node. equal, tokens: . break)
2303
2324
}
0 commit comments