Skip to content

Commit 5acae66

Browse files
committed
Fixes custom rule regex
closes realm#717 closes realm#726
1 parent f4d9976 commit 5acae66

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030

3131
##### Bug Fixes
3232

33+
* Fixed CustomRule Regex.
34+
[J. Cheyo Jimenez](https://github.com/masters3d)
35+
[#717](https://github.com/realm/SwiftLint/issues/717)
36+
[#726](https://github.com/realm/SwiftLint/issues/726)
37+
3338
* Fix LegacyConstructorRule when using variables instead of numbers.
3439
[Sarr Blaise](https://github.com/bsarr007)
3540
[#646](https://github.com/realm/SwiftLint/issues/646)

Source/SwiftLintFramework/Rules/CustomRules.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,12 @@ public struct CustomRules: Rule, ConfigurationProviderRule {
7474
}
7575

7676
private func validate(file: File, configuration: RegexConfiguration) -> [StyleViolation] {
77-
return file.matchPattern(configuration.regex).filter {
78-
!configuration.matchKinds.intersect($0.1).isEmpty
79-
}.map {
77+
let pattern = configuration.regex.pattern
78+
let excludingKinds = Array(Set(SyntaxKind.allKinds()).subtract(configuration.matchKinds))
79+
return file.matchPattern(pattern, excludingSyntaxKinds: excludingKinds).map {
8080
StyleViolation(ruleDescription: configuration.description,
8181
severity: configuration.severity,
82-
location: Location(file: file, characterOffset: $0.0.location),
82+
location: Location(file: file, characterOffset: $0.location),
8383
reason: configuration.message)
8484
}
8585
}

0 commit comments

Comments
 (0)