import SwiftLintCore @AutoApply struct InclusiveLanguageConfiguration: SeverityBasedRuleConfiguration { typealias Parent = InclusiveLanguageRule private static let defaultTerms: Set = [ "whitelist", "blacklist", "master", "slave" ] private static let defaultAllowedTerms: Set = [ "mastercard" ] @ConfigurationElement(key: "severity") private(set) var severityConfiguration = SeverityConfiguration(.warning) @ConfigurationElement(key: "additional_terms") private(set) var additionalTerms: Set? @ConfigurationElement(key: "override_terms") private(set) var overrideTerms: Set? @ConfigurationElement(key: "override_allowed_terms") private(set) var overrideAllowedTerms: Set? var allTerms: [String] { let allTerms = overrideTerms ?? Self.defaultTerms return allTerms.union(additionalTerms ?? []) .map { $0.lowercased() } .unique .sorted() } var allAllowedTerms: Set { Set((overrideAllowedTerms ?? Self.defaultAllowedTerms).map { $0.lowercased() }) } }