@@ -1556,6 +1556,26 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
1556
1556
arrangeEnumCaseParameterClause ( associatedValue, forcesBreakBeforeRightParen: false )
1557
1557
}
1558
1558
1559
+ if let initializer = node. rawValue {
1560
+ if let ( unindentingNode, _, breakKind, shouldGroup) =
1561
+ stackedIndentationBehavior ( rhs: initializer. value)
1562
+ {
1563
+ var openTokens : [ Token ] = [ . break( . open( kind: breakKind) ) ]
1564
+ if shouldGroup {
1565
+ openTokens. append ( . open)
1566
+ }
1567
+ after ( initializer. equal, tokens: openTokens)
1568
+
1569
+ var closeTokens : [ Token ] = [ . break( . close( mustBreak: false ) , size: 0 ) ]
1570
+ if shouldGroup {
1571
+ closeTokens. append ( . close)
1572
+ }
1573
+ after ( unindentingNode. lastToken ( viewMode: . sourceAccurate) , tokens: closeTokens)
1574
+ } else {
1575
+ after ( initializer. equal, tokens: . break( . continue) )
1576
+ }
1577
+ }
1578
+
1559
1579
return . visitChildren
1560
1580
}
1561
1581
@@ -2303,12 +2323,13 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
2303
2323
override func visit( _ node: InitializerClauseSyntax ) -> SyntaxVisitorContinueKind {
2304
2324
before ( node. equal, tokens: . space)
2305
2325
2306
- // InitializerClauses that are children of a PatternBindingSyntax or
2326
+ // InitializerClauses that are children of a PatternBindingSyntax, EnumCaseElementSyntax, or
2307
2327
// OptionalBindingConditionSyntax are already handled in the latter node, to ensure that
2308
2328
// continuations stack appropriately.
2309
2329
if let parent = node. parent,
2310
2330
!parent. is ( PatternBindingSyntax . self)
2311
2331
&& !parent. is ( OptionalBindingConditionSyntax . self)
2332
+ && !parent. is ( EnumCaseElementSyntax . self)
2312
2333
{
2313
2334
after ( node. equal, tokens: . break)
2314
2335
}
0 commit comments