@@ -169,12 +169,15 @@ private final class TokenStreamCreator: SyntaxVisitor {
169
169
}
170
170
171
171
override func visit( _ node: ParameterClauseSyntax ) {
172
- after ( node. leftParen, tokens: . break( size: 0 ) , . open( . consistent, 0 ) )
173
- before ( node. rightParen, tokens: . close)
172
+ after ( node. leftParen, tokens: . break( size: 0 , offset : 2 ) , . open( . consistent, 0 ) )
173
+ before ( node. rightParen, tokens: . break ( size : 0 , offset : - 2 ) , . close)
174
174
super. visit ( node)
175
175
}
176
176
177
177
override func visit( _ node: ReturnClauseSyntax ) {
178
+ before ( node. firstToken, tokens: . open)
179
+ before ( node. returnType. firstToken, tokens: . break)
180
+ after ( node. lastToken, tokens: . close)
178
181
super. visit ( node)
179
182
}
180
183
@@ -260,6 +263,16 @@ private final class TokenStreamCreator: SyntaxVisitor {
260
263
}
261
264
262
265
override func visit( _ node: CodeBlockSyntax ) {
266
+ for i in 0 ..< ( node. statements. count - 1 ) {
267
+ after ( node. statements [ i] . lastToken, tokens: . newline)
268
+ }
269
+ super. visit ( node)
270
+ }
271
+
272
+ override func visit( _ node: CodeBlockItemSyntax ) {
273
+ if !( node. parent? . parent is CodeBlockSyntax ) {
274
+ after ( node. lastToken, tokens: . newline)
275
+ }
263
276
super. visit ( node)
264
277
}
265
278
@@ -315,17 +328,17 @@ private final class TokenStreamCreator: SyntaxVisitor {
315
328
override func visit( _ node: IfStmtSyntax ) {
316
329
before ( node. ifKeyword, tokens: . open( . inconsistent, 3 ) )
317
330
after ( node. ifKeyword, tokens: . break)
318
- before ( node. body. leftBrace, tokens: . break, . close)
331
+ before ( node. body. leftBrace, tokens: . break( offset : - 3 ) , . close)
319
332
320
- after ( node. body. leftBrace, tokens: . open ( . consistent , 2 ) , . newline )
321
- before ( node. body. rightBrace, tokens: . close)
333
+ after ( node. body. leftBrace, tokens: . newline ( offset : 2 ) , . open ( . consistent , 0 ) )
334
+ before ( node. body. rightBrace, tokens: . newline ( offset : - 2 ) , . close)
322
335
323
336
before ( node. elseKeyword, tokens: . break)
324
337
after ( node. elseKeyword, tokens: . break)
325
338
326
339
if let elseBody = node. elseBody as? CodeBlockSyntax {
327
- after ( elseBody. leftBrace, tokens: . open ( . consistent , 2 ) , . newline )
328
- before ( elseBody. rightBrace, tokens: . close)
340
+ after ( elseBody. leftBrace, tokens: . newline ( offset : 2 ) , . open ( . consistent , 0 ) )
341
+ before ( elseBody. rightBrace, tokens: . newline ( offset : - 2 ) , . close)
329
342
}
330
343
super. visit ( node)
331
344
}
@@ -395,7 +408,9 @@ private final class TokenStreamCreator: SyntaxVisitor {
395
408
}
396
409
397
410
override func visit( _ node: ReturnStmtSyntax ) {
411
+ before ( node. firstToken, tokens: . open)
398
412
after ( node. returnKeyword, tokens: . break)
413
+ after ( node. lastToken, tokens: . close)
399
414
super. visit ( node)
400
415
}
401
416
@@ -448,30 +463,20 @@ private final class TokenStreamCreator: SyntaxVisitor {
448
463
}
449
464
450
465
override func visit( _ node: FunctionDeclSyntax ) {
451
- if let token = node. firstToken {
452
- before ( token, tokens: . open( . inconsistent, 2 ) )
453
- }
454
- before ( node. signature. input. rightParen, tokens: . break( size: 0 ) , . close)
455
466
after ( node. modifiers? . lastToken, tokens: . break)
456
467
after ( node. funcKeyword, tokens: . break)
457
468
458
469
if let body = node. body {
459
470
before ( body. leftBrace, tokens: . break)
460
- after ( body. leftBrace, tokens: . open ( . consistent , 2 ) , . newline )
461
- before ( body. rightBrace, tokens: . close)
471
+ after ( body. leftBrace, tokens: . newline ( offset : 2 ) , . open ( . consistent , 0 ) )
472
+ before ( body. rightBrace, tokens: . newline ( offset : - 2 ) , . close)
462
473
}
463
474
464
475
super. visit ( node)
465
476
}
466
477
467
478
override func visit( _ node: FunctionSignatureSyntax ) {
468
- if node. output != nil {
469
- after ( node. input. rightParen, tokens: . break)
470
- }
471
- before ( node. output? . arrow, tokens: . open( . consistent, 2 ) )
472
- after ( node. output? . arrow, tokens: . break)
473
- after ( node. output? . returnType. lastToken, tokens: . close)
474
-
479
+ before ( node. output? . firstToken, tokens: . break)
475
480
super. visit ( node)
476
481
}
477
482
@@ -513,11 +518,6 @@ private final class TokenStreamCreator: SyntaxVisitor {
513
518
super. visit ( node)
514
519
}
515
520
516
- override func visit( _ node: CodeBlockItemSyntax ) {
517
- after ( node. lastToken, tokens: . newline)
518
- super. visit ( node)
519
- }
520
-
521
521
override func visit( _ node: ExtensionDeclSyntax ) {
522
522
super. visit ( node)
523
523
}
@@ -905,7 +905,7 @@ private final class TokenStreamCreator: SyntaxVisitor {
905
905
}
906
906
case . newlines( let n) , . carriageReturns( let n) , . carriageReturnLineFeeds( let n) :
907
907
if n > 1 {
908
- appendToken ( . newlines( min ( n - 1 , config. maximumBlankLines) ) )
908
+ appendToken ( . newlines( min ( n - 1 , config. maximumBlankLines) , offset : 0 ) )
909
909
}
910
910
default :
911
911
break
0 commit comments