Skip to content

Commit f2ef721

Browse files
committed
Add newlines in SourceFile instead of SyntaxList
1 parent 893f09a commit f2ef721

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

Sources/SwiftSyntaxBuilder/SyntaxBuildables.swift

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,8 @@ public struct SyntaxList: SyntaxListBuildable {
4343
let builders: [SyntaxListBuildable]
4444

4545
public func buildSyntaxList(format: Format, leadingTrivia: Trivia) -> [Syntax] {
46-
// Returns indented newlines to join syntaxes
47-
func trivia(for index: Int) -> Trivia {
48-
leadingTrivia + (index > builders.startIndex ? .newlines(1) : .zero)
49-
}
50-
51-
return builders
52-
.enumerated()
53-
.flatMap { index, builder in
54-
builder.buildSyntaxList(format: format, leadingTrivia: trivia(for: index))
46+
builders.flatMap {
47+
$0.buildSyntaxList(format: format, leadingTrivia: leadingTrivia)
5548
}
5649
}
5750
}
@@ -75,10 +68,15 @@ public struct SourceFile: SyntaxBuildable {
7568
let syntaxList = builder.buildSyntaxList(format: format, leadingTrivia: leadingTrivia)
7669

7770
return SourceFileSyntax {
78-
for syntax in syntaxList {
71+
for (index, syntax) in syntaxList.enumerated() {
72+
let leadingTrivia: Trivia =
73+
index == syntaxList.startIndex
74+
? format.makeIndent()
75+
: .newlines(1) + format.makeIndent()
76+
7977
$0.addStatement(CodeBlockItemSyntax {
8078
$0.useItem(syntax)
81-
})
79+
}.withLeadingTrivia(leadingTrivia))
8280
}
8381
}
8482
}

0 commit comments

Comments
 (0)