Skip to content

Commit 121992f

Browse files
authored
Merge pull request #569 from kitasuke/use-array-methods-instead-of-syntax-collection
Use methods on Sequence instead of SyntaxCollection
2 parents c624b47 + 10bc3d8 commit 121992f

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

Sources/SwiftFormatRules/ModifierListSyntax+Convenience.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,8 @@ extension ModifierListSyntax {
3737

3838
/// Returns modifier list without the given modifier.
3939
func remove(name: String) -> ModifierListSyntax {
40-
guard has(modifier: name) else { return self }
41-
for (index, mod) in self.enumerated() {
42-
if mod.name.text == name {
43-
return removing(childAt: index)
44-
}
45-
}
46-
return self
40+
let newModifiers = filter { $0.name.text != name }
41+
return ModifierListSyntax(newModifiers)
4742
}
4843

4944
/// Returns a formatted declaration modifier token with the given name.
@@ -71,9 +66,13 @@ extension ModifierListSyntax {
7166
trailingTrivia: .spaces(1)) : modifier
7267

7368
if index == 0 {
74-
guard formatTrivia else { return inserting(modifier, at: index) }
69+
guard formatTrivia else {
70+
newModifiers.insert(modifier, at: index)
71+
return ModifierListSyntax(newModifiers)
72+
}
7573
guard let firstMod = first, let firstTok = firstMod.firstToken(viewMode: .sourceAccurate) else {
76-
return inserting(modifier, at: index)
74+
newModifiers.insert(modifier, at: index)
75+
return ModifierListSyntax(newModifiers)
7776
}
7877
let formattedMod = replaceTrivia(
7978
on: modifier,
@@ -87,7 +86,8 @@ extension ModifierListSyntax {
8786
newModifiers.insert(formattedMod, at: 0)
8887
return ModifierListSyntax(newModifiers)
8988
} else {
90-
return inserting(modifier, at: index)
89+
newModifiers.insert(modifier, at: index)
90+
return ModifierListSyntax(newModifiers)
9191
}
9292
}
9393

0 commit comments

Comments
 (0)