# Project configuration excluded: - Pods - Scripts - vendor # Rules whitelist_rules: # Colons should be next to the identifier when specifying a type. - colon # There should be no space before and one after any comma. - comma # if,for,while,do statements shouldn't wrap their conditionals in parentheses. - control_statement # Arguments can be omitted when matching enums with associated types if they # are not used. - empty_enum_arguments # Prefer `() -> ` over `Void -> `. - empty_parameters # MARK comment should be in valid format. - mark # Opening braces should be preceded by a single space and on the same line as # the declaration. - opening_brace # Files should have a single trailing newline. - trailing_newline # Lines should not have trailing semicolons. - trailing_semicolon # Lines should not have trailing whitespace. - trailing_whitespace - custom_rules # Rules configuration control_statement: severity: error custom_rules: natural_content_alignment: name: "Natural Content Alignment" regex: '\.contentHorizontalAlignment(\s*)=(\s*)(\.left|\.right)' message: "Forcing content alignment left or right can affect the Right-to-Left layout. Use naturalContentHorizontalAlignment instead." severity: warning natural_text_alignment: name: "Natural Text Alignment" regex: '\.textAlignment(\s*)=(\s*).left' message: "Forcing text alignment to left can affect the Right-to-Left layout. Consider setting it to `natural`" severity: warning inverse_text_alignment: name: "Inverse Text Alignment" regex: '\.textAlignment(\s*)=(\s*).right' message: "When forcing text alignment to the right, be sure to handle the Right-to-Left layout case properly, and then silence this warning with this line `// swiftlint:disable:next inverse_text_alignment`" severity: warning localization_comment: name: "Localization Comment" regex: 'NSLocalizedString([^,]+,\s+comment:\s*"")' message: "Localized strings should include a description giving context for how the string is used." severity: warning string_interpolation_in_localized_string: name: "String Interpolation in Localized String" regex: 'NSLocalizedString\("[^"]*\\\(\S*\)' message: "Localized strings must not use interpolated variables. Instead, use `String(format:`" severity: error swiftui_localization: name: "SwiftUI Localization" regex: 'LocalizedStringKey' message: "Using `LocalizedStringKey` is incompatible with our tooling and doesn't allow you to provide a hint/context comment for translators either. Please use `NSLocalizedString` instead, even with SwiftUI code." severity: error excluded: '.*Widgets/.*'