@@ -21,9 +21,11 @@ private final class TokenStreamCreator: SyntaxVisitor {
21
21
private var beforeMap = [ TokenSyntax: [ Token] ] ( )
22
22
private var afterMap = [ TokenSyntax: [ [ Token] ] ] ( )
23
23
private let config : Configuration
24
+ private let maxlinelength : Int
24
25
25
26
init ( configuration: Configuration ) {
26
27
self . config = configuration
28
+ self . maxlinelength = config. lineLength
27
29
}
28
30
29
31
func makeStream( from node: Syntax ) -> [ Token ] {
@@ -516,13 +518,14 @@ private final class TokenStreamCreator: SyntaxVisitor {
516
518
}
517
519
518
520
override func visit( _ node: CodeBlockSyntax ) {
519
- insertToken ( . newline , betweenChildrenOf: node. statements)
521
+ insertToken ( . break ( size : maxlinelength ) , betweenChildrenOf: node. statements)
520
522
super. visit ( node)
521
523
}
522
524
523
525
override func visit( _ node: CodeBlockItemListSyntax ) {
524
- if node. parent is AccessorBlockSyntax || node. parent is ClosureExprSyntax || node. parent is IfConfigClauseSyntax , node. count > 0 {
525
- insertToken ( . newline, betweenChildrenOf: node)
526
+ if node. parent is AccessorBlockSyntax || node. parent is ClosureExprSyntax ||
527
+ node. parent is IfConfigClauseSyntax , node. count > 0 {
528
+ insertToken ( . break( size: maxlinelength) , betweenChildrenOf: node)
526
529
}
527
530
super. visit ( node)
528
531
}
@@ -535,7 +538,7 @@ private final class TokenStreamCreator: SyntaxVisitor {
535
538
node. parent? . parent is AccessorBlockSyntax ||
536
539
node. parent? . parent is IfConfigClauseSyntax
537
540
) {
538
- after ( node. lastToken, tokens: . close, . newline )
541
+ after ( node. lastToken, tokens: . close, . break ( size : maxlinelength ) )
539
542
} else {
540
543
after ( node. lastToken, tokens: . close)
541
544
}
@@ -1386,16 +1389,11 @@ private final class TokenStreamCreator: SyntaxVisitor {
1386
1389
appendToken ( . break( size: 2 , offset: 0 ) )
1387
1390
appendToken ( . comment( commentToken, wasEndOfLine: true ) )
1388
1391
1389
- if isInContainer ( token) {
1390
- appendToken ( . newline)
1391
- }
1392
- }
1393
-
1394
- private func isInContainer( _ token: TokenSyntax ) -> Bool {
1395
- if token. parent is ArrayElementSyntax || token. parent is DictionaryElementSyntax || token. parent is TupleElementSyntax {
1396
- return true
1392
+ if nextToken != nil , [ " } " , " ) " ] . contains ( nextToken? . withoutTrivia ( ) . text) , trivia. numberOfComments == 1 {
1393
+ appendToken ( . break( size: maxlinelength, offset: - 2 ) )
1394
+ } else {
1395
+ appendToken ( . break( size: maxlinelength) )
1397
1396
}
1398
- return false
1399
1397
}
1400
1398
1401
1399
private func extractLeadingTrivia( _ token: TokenSyntax ) {
@@ -1411,16 +1409,16 @@ private final class TokenStreamCreator: SyntaxVisitor {
1411
1409
( [ " { " , " in " ] . contains { $0 == previousToken. withoutTrivia ( ) . text } ) {
1412
1410
// do nothing
1413
1411
} else {
1414
- appendToken ( . newline )
1412
+ appendToken ( . break ( size : maxlinelength ) )
1415
1413
}
1416
1414
}
1417
1415
1418
1416
appendToken ( . comment( Comment ( kind: . line, text: text) , wasEndOfLine: false ) )
1419
1417
1420
1418
if token. withoutTrivia ( ) . text == " } " {
1421
- appendToken ( . newline ( offset: - 2 ) )
1419
+ appendToken ( . break ( size : maxlinelength , offset: - 2 ) )
1422
1420
} else {
1423
- appendToken ( . newline )
1421
+ appendToken ( . break ( size : maxlinelength ) )
1424
1422
}
1425
1423
}
1426
1424
@@ -1431,16 +1429,16 @@ private final class TokenStreamCreator: SyntaxVisitor {
1431
1429
previousToken. withoutTrivia ( ) . text == " { " {
1432
1430
// do nothing
1433
1431
} else {
1434
- appendToken ( . newline )
1432
+ appendToken ( . break ( size : maxlinelength ) )
1435
1433
}
1436
1434
}
1437
1435
1438
1436
appendToken ( . comment( Comment ( kind: . block, text: text) , wasEndOfLine: false ) )
1439
1437
1440
1438
if token. withoutTrivia ( ) . text == " } " {
1441
- appendToken ( . newline ( offset: - 2 ) )
1439
+ appendToken ( . break ( size : maxlinelength , offset: - 2 ) )
1442
1440
} else {
1443
- appendToken ( . newline )
1441
+ appendToken ( . break ( size : maxlinelength ) )
1444
1442
}
1445
1443
}
1446
1444
0 commit comments