Skip to content

Commit e08a183

Browse files
committed
Change CodeGenerationFormat to keep whitespace after comma if it precedes other trivia on the same line
1 parent 1e8e227 commit e08a183

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

CodeGeneration/Sources/Utils/CodeGenerationFormat.swift

+8-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,14 @@ public class CodeGenerationFormat: BasicFormat {
158158
}
159159
formattedChildren = formattedChildren.map { child in
160160
var child = child
161-
child.trailingTrivia = Trivia(pieces: child.trailingTrivia.drop(while: \.isSpaceOrTab))
161+
162+
let firstNonSpaceOrTabIndex =
163+
child.trailingTrivia.firstIndex(where: { !$0.isSpaceOrTab }) ?? child.trailingTrivia.endIndex
164+
if firstNonSpaceOrTabIndex == child.trailingTrivia.endIndex {
165+
child.trailingTrivia = Trivia()
166+
} else if child.trailingTrivia[firstNonSpaceOrTabIndex].isNewline {
167+
child.trailingTrivia = Trivia(pieces: child.trailingTrivia.suffix(from: firstNonSpaceOrTabIndex))
168+
}
162169

163170
if !child.startsOnNewline {
164171
child.leadingTrivia = indentedNewline + child.leadingTrivia

0 commit comments

Comments
 (0)