Danny Mösch
32c33c2588
Re-enable redundant_self rule ( #6368 )
2025-12-07 08:11:08 -05:00
Danny Mösch
d1cdf8ce20
Extend redundant_self_in_closure to find all redundant selfs ( #6346 )
2025-12-07 07:49:50 -05:00
Danny Mösch
2e87be0398
Infer name of parent rule in configurations ( #6363 )
2025-12-01 14:15:00 -05:00
Rodion Ivashkov
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
Saleem Abdulrasool
e526fdef94
Repair GenerationTests on Windows ( #6354 )
2025-11-28 09:04:17 +01:00
Saleem Abdulrasool
339d250464
Port to Windows ( #5030 )
...
At least ensure it compiles just fine on Windows.
* build: add CryptoSwift dependency for Windows
* SwiftLintBuiltInRules: treat Windows similar to Linux wrt `NSDataDetector`
* SwiftLintCore: initial pass for Windows support
Add some Windows specific handling for the paths in SwiftLintCore. The
one piece that this change does not cover is the handling of `glob` as
that is not an ISO C standard function and as such there is no `glob` on
Windows. This will be worked through separately.
* swiftlint: add a Windows port
This enables building the swiftlint command on Windows. There is no
system ioctl for terminal access, instead, we can use the Win32 Console
API surface to query the console size. In the case of a failure, assume
the width to be 80-columns (as the standard VGA console is 80x25).
* WIP/SwiftLintCore: port the `glob` function to Windows
Windows does not support `glob` as a standard C library function as that
is not part of the C standard. Attempt to emulate that through the use
of `FindFirstFileW` and `FindNextFile` to iterate the matching files
given a pattern. This should allow us to start enumerating the files as
if we had `glob` available.
2025-11-21 09:59:28 +01:00
Danny Mösch
f1562a629e
Exclude only function signatures ( #6348 )
2025-11-18 17:27:53 +01:00
Jared Grubb
e57a2d4860
Do not trigger override_in_extension inside @implementation ( #6339 )
2025-11-15 12:26:10 +00:00
Danny Mösch
d74b8726bc
Improve @escaping tracking recognizing local variable assignments ( #6341 )
2025-11-15 11:42:57 +01:00
Danny Mösch
97579b5dcf
Add new unneeded_escaping rule ( #6337 )
2025-11-14 18:54:51 +01:00
Danny Mösch
9e5a526483
Enable unneeded_throws_rethrows rule ( #6335 )
2025-11-03 20:24:57 +01:00
Tony Ngo
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
Danny Mösch
b51759599e
Rewrite vertical_whitespace_between_cases rule with SwiftSyntax ( #6333 )
2025-11-02 01:40:23 -05:00
Danny Mösch
ede316d453
Use SwiftSyntax 6.3 pre-release 2025-10-30 ( #6330 )
2025-11-01 13:34:08 +01:00
Copilot
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
Danny Mösch
7b4335abea
Fix correction of sorted_imports rule for leading comments case ( #6318 )
2025-10-26 08:26:49 +01: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
Tatsuyuki Kobayashi
6dfad2cf1c
Fix false positive with #Preview macro in closure_end_indentation ( #6306 )
2025-10-16 05:28:02 -04:00
Danny Mösch
25ef2ea69b
Remove trailing comma ( #6297 )
2025-10-13 22:56:24 +02:00
Nandhini Subramani
a23e4c98bc
Exclude integer generic parameters from generic_type_name and handle them in identifier_name ( #6289 )
2025-10-10 23:07:41 +02:00
Kirti Verma
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
Nandhini Subramani
a0414c919d
Ignore @concurrent functions in async_without_await rule ( #6284 )
2025-10-08 19:06:56 +02:00
Danny Mösch
4065fc8437
Enable upcoming feature MemberImportVisibility ( #6286 )
2025-10-08 08:12:05 +02:00
Danny Mösch
a6247c24e4
Rewrite sorted_imports rule with SwiftSyntax ( #6280 )
2025-10-05 17:00:27 +02:00
Danny Mösch
e9718145cb
Rewrite modifier_order rule with SwiftSyntax ( #6279 )
2025-10-04 16:39:17 +02:00
Danny Mösch
530bf9d0c5
Let legacy function rules adhere to @SwiftSyntaxRule ( #6271 )
2025-10-03 08:03:59 -04:00
Danny Mösch
7348cf0f4a
Use SwiftSyntax 6.3 pre-release 2025-09-15 ( #6206 )
2025-09-29 14:59:47 +02:00
Danny Mösch
aa67f5ac13
Adopt typed throws where possible ( #5922 )
2025-09-27 19:11:46 +02:00
Danny Mösch
0e2198d086
Exclude function types from async_without_await rule analysis ( #6258 )
2025-09-27 19:10:30 +02:00
Danny Mösch
74e6c3625f
Ignore redundant_discardable_let in nested SwiftUI scopes ( #6257 )
2025-09-25 11:35:28 -04:00
Danny Mösch
dcbdcc92d1
Ignore function, initializer and subscript declarations alike ( #6242 )
2025-09-07 11:53:32 +02:00
Danny Mösch
5e6e59f212
Rewrite quick_discouraged_call rule with SwiftSyntax ( #6237 )
2025-09-06 14:10:38 +02:00
Danny Mösch
4859fa8e82
Ensure that headers matched against always end in a newline ( #6234 )
2025-09-04 23:09:35 +02:00
Danny Mösch
b58b8401a0
Improve detection of comment-only lines in file_length rule ( #6231 )
2025-09-04 10:27:26 +02:00
Danny Mösch
b97f63a89d
Properly detect comment-only lines ( #6230 )
2025-09-03 23:42:04 +02:00
Danny Mösch
233908e28c
Treat strings with opening and closing quotes in the same line as single-line strings ( #6229 )
2025-09-03 22:29:33 +02:00
Danny Mösch
6946309f9b
Consider other expression types before function calls ( #6226 )
2025-09-03 14:33:10 +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
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
Danny Mösch
77050e8c40
Enable a fully statically linked Linux executable ( #6211 )
...
If SwiftLint is built from this state using the Swift SDK, we'll get a
large self-contained Linux executable that runs without loading SourceKit.
It can do that by disabling any rule that requires SourceKit.
With `SWIFTLINT_DISABLE_SOURCEKIT` set on a normally (dynamically linked)
binary, the behavior is the same. That's different from the previously
reported more serious warnings.
2025-08-30 10:02:38 -04:00
Danny Mösch
8ada387884
Ignore locally defined count identifiers in empty_count rule ( #6202 )
2025-08-24 14:08:40 -04:00
Danny Mösch
61507218f7
Exclude explicit system modules from duplicate_imports analysis ( #6203 )
2025-08-24 09:40:44 +02:00
Matt Thompson
2cfb4c2068
Apply private_swiftui_state rule to ViewModifier types ( #6200 )
2025-08-23 12:05:49 +02:00
André Pacheco Neves
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
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
90820fcda3
Extend xct_specific_matcher rule to cover === and !== ( #6184 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2025-08-09 09:03:13 -04:00