Danny Mösch
6d4d0eee64
Run all tests and lint codebase on Windows
2026-01-24 22:13:56 +01:00
Danny Mösch
5d44592e27
Run ConfigPathResolutionTests with Bazel
2026-01-24 22:13:56 +01:00
Danny Mösch
efaf900d50
Use URL enumerator
2026-01-24 22:13:56 +01:00
Danny Mösch
d1d29cdfee
Run test on all macOS versions in the same way
2026-01-24 22:13:56 +01:00
Danny Mösch
450d51c8d2
Rename property
2026-01-24 22:13:56 +01:00
Danny Mösch
6c1ae86eb3
Use URL for file paths throughout the code base
...
# Conflicts:
# Source/SwiftLintFramework/Extensions/FileManager+SwiftLint.swift
# Tests/IntegrationTests/ConfigPathResolutionTests.swift
2026-01-24 22:13:56 +01:00
Declan McKenna
d3220ed108
Add ignore_regex option to large_tuple rule ( #6452 )
2026-01-24 14:52:12 +00:00
Danny Mösch
faa5859155
Introduce guarded filepath provider for file collection ( #6435 )
2026-01-14 18:06:13 -05:00
Danny Mösch
44f2ed46a9
Add only_in_closures option to redundant_self to maintain old behavior ( #6406 )
2026-01-03 07:16:11 -05:00
Danny Mösch
ac701c088c
Improve performance of excluded files filter ( #6342 )
...
The current algorithm is like "collect all included files and subtract all excluded files".
Collecting all included and all excluded files relies on the file system. This can become slow
when the patterns used to exclude files resolve to a large number of files.
The new approach only collects all lintable files and checks them against the exclude patterns.
This can be done by in-memory string-regex-match and does therefore not require file system accesses.
The new implementation also no longer traverses directories that already match an exclude pattern.
(cherry picked from commit 152355e36f )
2025-12-07 15:58:23 +01:00
Danny Mösch
d1cdf8ce20
Extend redundant_self_in_closure to find all redundant selfs ( #6346 )
2025-12-07 07:49:50 -05:00
Rodion Ivashkov and Danny Mösch
31cdc24101
Add new multiline_call_arguments rule ( #6223 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-11-30 18:16:11 -05:00
Danny Mösch
97579b5dcf
Add new unneeded_escaping rule ( #6337 )
2025-11-14 18:54:51 +01:00
Tony Ngo and Danny Mösch
837a90621b
Add new unneeded_throws_rethrows rule ( #6069 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-11-03 17:39:31 +01:00
Danny Mösch
b6c7e045a8
Add new separation option to vertical_whitespace_between_cases ( #6334 )
2025-11-02 08:53:25 -05:00
Copilot and SimplyDanny
038135e14d
Enable prefer_key_path rule ( #6331 )
...
Co-authored-by: SimplyDanny <16365760+SimplyDanny@users.noreply.github.com >
2025-10-31 16:58:41 +00:00
Nandhini Subramani
6619ca9c10
Add isolation parameter to modifier_order rule ( #6316 )
2025-10-22 09:40:45 +02:00
Danny Mösch
70a2e6ceac
Add new incompatible_concurrency_annotation rule ( #6290 )
2025-10-20 15:11:10 -04:00
Nandhini Subramani
2c2ca671ed
Add ignores_literals option to trailing_whitespace rule ( #6309 )
2025-10-18 04:31:52 -04:00
Nandhini Subramani
a17dc04012
Add option to ignore regex literals in line_length rule ( #6307 )
2025-10-16 20:10:32 +02:00
Kirti Verma and Danny Mösch
9a61f48c7a
Add prefer_asset_symbols rule ( #6261 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-10-10 15:28:16 -04:00
Danny Mösch
4065fc8437
Enable upcoming feature MemberImportVisibility ( #6286 )
2025-10-08 08:12:05 +02:00
Danny Mösch
66f244beaa
Use failure handler in macro tests
2025-10-03 22:41:38 +02:00
Danny Mösch
57d6752a2a
Merge function_name_whitespace and operator_whitespace rules ( #6217 )
2025-09-03 00:34:22 +02:00
Rodion Ivashkov and Danny Mösch
91b26549c4
Add function_name_whitespace rule to validate and autocorrect spacing around function names ( #6156 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-08-30 10:40:44 -04:00
André Pacheco Neves and Danny Mösch
fe099492f2
Allow prefer_key_paths to ignore identity closures ({ $0 }) ( #6068 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-08-15 00:30:10 +03:00
Leopold Lemmermann and Danny Mösch
2677d5ee6e
Add new implicit_optional_initialization replacing redundant_optional_initialization ( #6165 )
...
The new rule covers both cases, initialization with `= nil` and without, consistently.
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-08-13 10:08:49 +00:00
Copilot and Danny Mösch
8bb69b064a
Add include_variables option to non_optional_string_data_conversion rule ( #6172 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-08-02 17:49:58 -04:00
Danny Mösch
cb214d51fa
Add new prefer_condition_list rule ( #6157 )
2025-07-12 07:52:50 -04:00
Danny Mösch
a321566c05
Support protocols and extensions in type body length checking ( #6143 )
2025-07-11 22:27:47 +02:00
Chris Brakebill and Danny Mösch
c97cf24797
Add ignore_codingkeys parameter in nesting rule ( #5650 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-07-09 15:09:38 -04:00
Koichiro Ueki and Danny Mösch
e65767baf8
Add new excluded_paths option to file_name rule ( #6092 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-06-25 21:30:32 +02:00
Martin Redington
3ed7579fd2
Allow magic numbers to be configured ( #6051 )
2025-04-13 21:08:42 +01:00
Danny Mösch
ed5b3741fe
Remove opaque_over_existential rule ( #6049 )
...
This partially reverts commit 82736d1925 .
2025-04-08 06:38:12 -04:00
Danny Mösch
47335d7f95
Remove tracking of correction positions ( #5950 )
...
Report number of corrections per file instead.
2025-04-05 06:04:37 -04:00
Henry
ed20aa593d
Add new option ignores_multiline_strings to line_length rule ( #6014 )
2025-04-03 14:28:41 -04:00
Danny Mösch
682fc1f708
Track correctable rules ( #6037 )
2025-03-26 22:35:45 +01:00
Danny Mösch
66dd38bb76
Register rules in test reference ( #6036 )
...
Integration test is so not needed anymore as complete registration
is already verified by a dedicated build job.
2025-03-26 21:05:04 +00:00
Jared Grubb
63fea48d83
Add excluded_methods option to unneeded_override rule ( #6010 )
2025-03-22 21:40:05 +01:00
Eduard Miniakhmetov
d2d1aacaac
Add new allowed_types option to legacy_objc_type rule ( #6012 )
2025-03-10 09:28:04 +00:00
Danny Mösch
a4db2f65c0
Skip integration tests in CI intentionally ( #6017 )
2025-03-09 20:26:39 +01:00
Danny Mösch
82736d1925
Add new opaque_over_existential rule ( #5915 )
2025-02-12 16:46:28 -05:00
Danny Mösch
fcdc98a52d
Revert "Improve performance of excluded files filter" ( #5962 )
...
This reverts commit 152355e36f from #5157 .
# Conflicts:
# tools/oss-check
2025-01-15 19:15:44 +01:00
Danny Mösch
9b22cda361
Add ib_segue_action to default configuration ( #5956 )
2025-01-14 21:50:11 +01:00
Danny Mösch
4f55943678
Lint PRs and show inline comments for violations ( #5935 )
...
The long-running integration tests are no longer needed (in CI). Having
violations reported right in the PR is much more convenient.
2025-01-04 15:08:27 +00:00
Danny Mösch
ae8aeb3995
Add option to disable redundant_discardable_let in SwiftUI view bodies ( #5929 )
2025-01-03 19:30:35 +01:00
Danny Mösch
15b285527a
Separate built-in rule tests from framework tests ( #5924 )
...
* Short names for test modules
* Lint plugins and `Package.swift` in integration tests
* Simplify and merge file groups in Bazel
* Move common functions to `TestHelpers`
2024-12-30 12:26:46 +01:00
Danny Mösch
317eb4382f
Test on default or opt-in rule ( #5913 )
2024-12-26 11:07:53 +00:00
Danny Mösch
152355e36f
Improve performance of excluded files filter ( #5157 )
...
The current algorithm is like "collect all included files and subtract all excluded files".
Collecting all included and all excluded files relies on the file system. This can become slow
when the patterns used to exclude files resolve to a large number of files.
The new approach only collects all lintable files and checks them against the exclude patterns.
This can be done by in-memory string-regex-match and does therefore not require file system accesses.
2024-12-25 17:33:33 -05:00
Danny Mösch
03f8c83d0d
Add new redundant_sendable rule ( #5902 )
2024-12-25 23:05:02 +01:00