in Sources/SwiftFormatRules/ModifierListSyntax+Convenience.swift [59:93]
func insert(
modifier: DeclModifierSyntax, at index: Int,
formatTrivia: Bool = true
) -> ModifierListSyntax {
guard index >= 0, index <= count else { return self }
var newModifiers: [DeclModifierSyntax] = []
newModifiers.append(contentsOf: self)
let modifier = formatTrivia
? replaceTrivia(
on: modifier,
token: modifier.name,
trailingTrivia: .spaces(1)) : modifier
if index == 0 {
guard formatTrivia else { return inserting(modifier, at: index) }
guard let firstMod = first, let firstTok = firstMod.firstToken else {
return inserting(modifier, at: index)
}
let formattedMod = replaceTrivia(
on: modifier,
token: modifier.firstToken,
leadingTrivia: firstTok.leadingTrivia)
newModifiers[0] = replaceTrivia(
on: firstMod,
token: firstTok,
leadingTrivia: [],
trailingTrivia: .spaces(1))
newModifiers.insert(formattedMod, at: 0)
return SyntaxFactory.makeModifierList(newModifiers)
} else {
return inserting(modifier, at: index)
}
}