Skip to content

Commit f7140e9

Browse files
committed
- PR setting renamed to multiElementCollectionTrailingCommas and use literal rather than initializer
1 parent da79b03 commit f7140e9

File tree

6 files changed

+23
-23
lines changed

6 files changed

+23
-23
lines changed

Documentation/Configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ top-level keys and values:
8282
* `spacesAroundRangeFormationOperators` _(boolean)_: Determines whether whitespace should be forced
8383
before and after the range formation operators `...` and `..<`.
8484

85-
* `multilineCollectionTrailingCommas` _(boolean)_: Determines whether multi-line collections should have trailing commas.
85+
* `multiElementCollectionTrailingCommas` _(boolean)_: Determines whether multi-element collection literals should have trailing commas.
8686
Defaults to `true`.
8787

8888
> TODO: Add support for enabling/disabling specific syntax transformations in

Sources/SwiftFormat/API/Configuration+Default.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ extension Configuration {
3737
self.indentSwitchCaseLabels = false
3838
self.spacesAroundRangeFormationOperators = false
3939
self.noAssignmentInExpressions = NoAssignmentInExpressionsConfiguration()
40-
self.multilineCollectionTrailingCommas = true
40+
self.multiElementCollectionTrailingCommas = true
4141
}
4242
}

Sources/SwiftFormat/API/Configuration.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public struct Configuration: Codable, Equatable {
4242
case rules
4343
case spacesAroundRangeFormationOperators
4444
case noAssignmentInExpressions
45-
case multilineCollectionTrailingCommas
45+
case multiElementCollectionTrailingCommas
4646
}
4747

4848
/// A dictionary containing the default enabled/disabled states of rules, keyed by the rules'
@@ -163,8 +163,8 @@ public struct Configuration: Codable, Equatable {
163163
/// Contains exceptions for the `NoAssignmentInExpressions` rule.
164164
public var noAssignmentInExpressions: NoAssignmentInExpressionsConfiguration
165165

166-
/// Determines whether multi-line list initializers should have trailing commas.
167-
public var multilineCollectionTrailingCommas: Bool
166+
/// Determines whether multi-element collection literals should have trailing commas.
167+
public var multiElementCollectionTrailingCommas: Bool
168168

169169
/// Constructs a Configuration by loading it from a configuration file.
170170
public init(contentsOf url: URL) throws {
@@ -243,10 +243,10 @@ public struct Configuration: Codable, Equatable {
243243
try container.decodeIfPresent(
244244
NoAssignmentInExpressionsConfiguration.self, forKey: .noAssignmentInExpressions)
245245
?? defaults.noAssignmentInExpressions
246-
self.multilineCollectionTrailingCommas =
246+
self.multiElementCollectionTrailingCommas =
247247
try container.decodeIfPresent(
248-
Bool.self, forKey: .multilineCollectionTrailingCommas)
249-
?? defaults.multilineCollectionTrailingCommas
248+
Bool.self, forKey: .multiElementCollectionTrailingCommas)
249+
?? defaults.multiElementCollectionTrailingCommas
250250

251251
// If the `rules` key is not present at all, default it to the built-in set
252252
// so that the behavior is the same as if the configuration had been
@@ -279,7 +279,7 @@ public struct Configuration: Codable, Equatable {
279279
try container.encode(fileScopedDeclarationPrivacy, forKey: .fileScopedDeclarationPrivacy)
280280
try container.encode(indentSwitchCaseLabels, forKey: .indentSwitchCaseLabels)
281281
try container.encode(noAssignmentInExpressions, forKey: .noAssignmentInExpressions)
282-
try container.encode(multilineCollectionTrailingCommas, forKey: .multilineCollectionTrailingCommas)
282+
try container.encode(multiElementCollectionTrailingCommas, forKey: .multiElementCollectionTrailingCommas)
283283
try container.encode(rules, forKey: .rules)
284284
}
285285

Sources/SwiftFormat/PrettyPrint/PrettyPrint.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ public class PrettyPrinter {
557557
// We never want to add a trailing comma in an initializer so we disable trailing commas on
558558
// single element collections.
559559
let shouldHaveTrailingComma =
560-
startLineNumber != openCloseBreakCompensatingLineNumber && !isSingleElement && configuration.multilineCollectionTrailingCommas
560+
startLineNumber != openCloseBreakCompensatingLineNumber && !isSingleElement && configuration.multiElementCollectionTrailingCommas
561561
if shouldHaveTrailingComma && !hasTrailingComma {
562562
diagnose(.addTrailingComma, category: .trailingComma)
563563
} else if !shouldHaveTrailingComma && hasTrailingComma {

Sources/_SwiftFormatTestSupport/Configuration+Testing.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ extension Configuration {
4040
config.indentSwitchCaseLabels = false
4141
config.spacesAroundRangeFormationOperators = false
4242
config.noAssignmentInExpressions = NoAssignmentInExpressionsConfiguration()
43-
config.multilineCollectionTrailingCommas = true
43+
config.multiElementCollectionTrailingCommas = true
4444
return config
4545
}
4646
}

Tests/SwiftFormatTests/PrettyPrint/CommaTests.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ final class CommaTests: PrettyPrintTestCase {
2323
"""
2424

2525
var configuration = Configuration.forTesting
26-
configuration.multilineCollectionTrailingCommas = true
26+
configuration.multiElementCollectionTrailingCommas = true
2727
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
2828
}
2929

@@ -49,7 +49,7 @@ final class CommaTests: PrettyPrintTestCase {
4949
"""
5050

5151
var configuration = Configuration.forTesting
52-
configuration.multilineCollectionTrailingCommas = false
52+
configuration.multiElementCollectionTrailingCommas = false
5353
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
5454
}
5555

@@ -75,7 +75,7 @@ final class CommaTests: PrettyPrintTestCase {
7575
"""
7676

7777
var configuration = Configuration.forTesting
78-
configuration.multilineCollectionTrailingCommas = true
78+
configuration.multiElementCollectionTrailingCommas = true
7979
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
8080
}
8181

@@ -101,7 +101,7 @@ final class CommaTests: PrettyPrintTestCase {
101101
"""
102102

103103
var configuration = Configuration.forTesting
104-
configuration.multilineCollectionTrailingCommas = false
104+
configuration.multiElementCollectionTrailingCommas = false
105105
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
106106
}
107107

@@ -120,7 +120,7 @@ final class CommaTests: PrettyPrintTestCase {
120120
"""
121121

122122
var configuration = Configuration.forTesting
123-
configuration.multilineCollectionTrailingCommas = true
123+
configuration.multiElementCollectionTrailingCommas = true
124124
assertPrettyPrintEqual(input: input, expected: expected, linelength: 40, configuration: configuration)
125125
}
126126

@@ -139,7 +139,7 @@ final class CommaTests: PrettyPrintTestCase {
139139
"""
140140

141141
var configuration = Configuration.forTesting
142-
configuration.multilineCollectionTrailingCommas = false
142+
configuration.multiElementCollectionTrailingCommas = false
143143
assertPrettyPrintEqual(input: input, expected: expected, linelength: 40, configuration: configuration)
144144
}
145145

@@ -165,7 +165,7 @@ final class CommaTests: PrettyPrintTestCase {
165165
"""
166166

167167
var configuration = Configuration.forTesting
168-
configuration.multilineCollectionTrailingCommas = true
168+
configuration.multiElementCollectionTrailingCommas = true
169169
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
170170
}
171171

@@ -191,7 +191,7 @@ final class CommaTests: PrettyPrintTestCase {
191191
"""
192192

193193
var configuration = Configuration.forTesting
194-
configuration.multilineCollectionTrailingCommas = false
194+
configuration.multiElementCollectionTrailingCommas = false
195195
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
196196
}
197197

@@ -217,7 +217,7 @@ final class CommaTests: PrettyPrintTestCase {
217217
"""
218218

219219
var configuration = Configuration.forTesting
220-
configuration.multilineCollectionTrailingCommas = true
220+
configuration.multiElementCollectionTrailingCommas = true
221221
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
222222
}
223223

@@ -243,7 +243,7 @@ final class CommaTests: PrettyPrintTestCase {
243243
"""
244244

245245
var configuration = Configuration.forTesting
246-
configuration.multilineCollectionTrailingCommas = false
246+
configuration.multiElementCollectionTrailingCommas = false
247247
assertPrettyPrintEqual(input: input, expected: expected, linelength: 20, configuration: configuration)
248248
}
249249

@@ -263,7 +263,7 @@ final class CommaTests: PrettyPrintTestCase {
263263
"""
264264

265265
var configuration = Configuration.forTesting
266-
configuration.multilineCollectionTrailingCommas = true
266+
configuration.multiElementCollectionTrailingCommas = true
267267
assertPrettyPrintEqual(input: input, expected: expected, linelength: 40, configuration: configuration)
268268
}
269269

@@ -283,7 +283,7 @@ final class CommaTests: PrettyPrintTestCase {
283283
"""
284284

285285
var configuration = Configuration.forTesting
286-
configuration.multilineCollectionTrailingCommas = false
286+
configuration.multiElementCollectionTrailingCommas = false
287287
assertPrettyPrintEqual(input: input, expected: expected, linelength: 40, configuration: configuration)
288288
}
289289
}

0 commit comments

Comments
 (0)