diff --git a/Rules.md b/Rules.md index 2a8d0cedd3..3c47a071fe 100644 --- a/Rules.md +++ b/Rules.md @@ -14010,6 +14010,42 @@ let foo = ↓1_000_000.000000_1 let foo = ↓1000000.000000_1 ``` +```swift +let foo: Double = ↓-(100000) +``` + +```swift +let foo: Double = ↓-(10.000000_1) +``` + +```swift +let foo: Double = ↓-(123456 / ↓447.214214) +``` + +```swift +let foo: Double = +(↓100000) +``` + +```swift +let foo: Double = +(↓10.000000_1) +``` + +```swift +let foo: Double = +(↓123456 / ↓447.214214) +``` + +```swift +let foo: Double = (↓100000) +``` + +```swift +let foo: Double = (↓10.000000_1) +``` + +```swift +let foo: Double = (↓123456 / ↓447.214214) +``` + diff --git a/Source/SwiftLintFramework/Rules/Style/NumberSeparatorRuleExamples.swift b/Source/SwiftLintFramework/Rules/Style/NumberSeparatorRuleExamples.swift index c7b484b0cb..156a0165e4 100644 --- a/Source/SwiftLintFramework/Rules/Style/NumberSeparatorRuleExamples.swift +++ b/Source/SwiftLintFramework/Rules/Style/NumberSeparatorRuleExamples.swift @@ -20,7 +20,8 @@ internal struct NumberSeparatorRuleExamples { } }() - static let triggeringExamples = makeTriggeringExamples(signs: ["↓-", "+↓", "↓"]) + static let triggeringExamples = makeTriggeringExamples(signs: ["↓-", "+↓", "↓"]) + + makeTriggeringExamplesWithParentheses() static let corrections = makeCorrections(signs: [("↓-", "-"), ("+↓", "+"), ("↓", "")]) @@ -39,6 +40,17 @@ internal struct NumberSeparatorRuleExamples { } } + private static func makeTriggeringExamplesWithParentheses() -> [String] { + let signsWithParenthesisAndViolation = ["↓-(", "+(↓", "(↓"] + return signsWithParenthesisAndViolation.flatMap { (sign: String) -> [String] in + [ + "let foo: Double = \(sign)100000)", + "let foo: Double = \(sign)10.000000_1)", + "let foo: Double = \(sign)123456 / ↓447.214214)" + ] + } + } + private static func makeCorrections(signs: [(String, String)]) -> [String: String] { var result = [String: String]()