Files
2026-04-11 08:40:43 +02:00

35 lines
1.2 KiB
Swift

import SwiftLintCore
@AutoConfigParser
struct MultilineCallArgumentsConfiguration: SeverityBasedRuleConfiguration {
@ConfigurationElement(key: "severity")
private(set) var severityConfiguration = SeverityConfiguration<Parent>(.warning)
@ConfigurationElement(key: "allows_single_line")
private(set) var allowsSingleLine = true
@ConfigurationElement(key: "max_number_of_single_line_parameters")
private(set) var maxNumberOfSingleLineParameters: Int?
func validate() throws(Issue) {
guard let maxNumberOfSingleLineParameters else { return }
guard maxNumberOfSingleLineParameters >= 1 else {
throw Issue.inconsistentConfiguration(
ruleID: Parent.identifier,
message: "Option '\($maxNumberOfSingleLineParameters.key)' should be >= 1."
)
}
if maxNumberOfSingleLineParameters > 1, !allowsSingleLine {
throw Issue.inconsistentConfiguration(
ruleID: Parent.identifier,
message: """
Option '\($maxNumberOfSingleLineParameters.key)' has no effect when \
'\($allowsSingleLine.key)' is false
"""
)
}
}
}