Danny Mösch
539bd28d86
Use URL for file paths throughout the code base
2025-12-28 08:46:16 +01:00
Brett Best and GitHub
fb046797b2
Add handling for access level modifiers on imports ( #6377 )
2025-12-19 04:10:07 -05:00
Danny Mösch and GitHub
32c33c2588
Re-enable redundant_self rule ( #6368 )
2025-12-07 08:11:08 -05:00
Danny Mösch and GitHub
d1cdf8ce20
Extend redundant_self_in_closure to find all redundant selfs ( #6346 )
2025-12-07 07:49:50 -05:00
Danny Mösch and GitHub
2e87be0398
Infer name of parent rule in configurations ( #6363 )
2025-12-01 14:15:00 -05:00
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 and GitHub
e526fdef94
Repair GenerationTests on Windows ( #6354 )
2025-11-28 09:04:17 +01:00
Saleem Abdulrasool and GitHub
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 and GitHub
f1562a629e
Exclude only function signatures ( #6348 )
2025-11-18 17:27:53 +01:00
Jared Grubb and GitHub
e57a2d4860
Do not trigger override_in_extension inside @implementation ( #6339 )
2025-11-15 12:26:10 +00:00
Danny Mösch and GitHub
d74b8726bc
Improve @escaping tracking recognizing local variable assignments ( #6341 )
2025-11-15 11:42:57 +01:00
Danny Mösch and GitHub
97579b5dcf
Add new unneeded_escaping rule ( #6337 )
2025-11-14 18:54:51 +01:00
Danny Mösch and GitHub
9e5a526483
Enable unneeded_throws_rethrows rule ( #6335 )
2025-11-03 20:24:57 +01:00
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 and GitHub
b6c7e045a8
Add new separation option to vertical_whitespace_between_cases ( #6334 )
2025-11-02 08:53:25 -05:00
Danny Mösch and GitHub
b51759599e
Rewrite vertical_whitespace_between_cases rule with SwiftSyntax ( #6333 )
2025-11-02 01:40:23 -05:00
Danny Mösch and GitHub
ede316d453
Use SwiftSyntax 6.3 pre-release 2025-10-30 ( #6330 )
2025-11-01 13:34:08 +01:00
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 and GitHub
7b4335abea
Fix correction of sorted_imports rule for leading comments case ( #6318 )
2025-10-26 08:26:49 +01:00
Nandhini Subramani and GitHub
6619ca9c10
Add isolation parameter to modifier_order rule ( #6316 )
2025-10-22 09:40:45 +02:00
Danny Mösch and GitHub
70a2e6ceac
Add new incompatible_concurrency_annotation rule ( #6290 )
2025-10-20 15:11:10 -04:00
Nandhini Subramani and GitHub
2c2ca671ed
Add ignores_literals option to trailing_whitespace rule ( #6309 )
2025-10-18 04:31:52 -04:00
Nandhini Subramani and GitHub
a17dc04012
Add option to ignore regex literals in line_length rule ( #6307 )
2025-10-16 20:10:32 +02:00
Tatsuyuki Kobayashi and GitHub
6dfad2cf1c
Fix false positive with #Preview macro in closure_end_indentation ( #6306 )
2025-10-16 05:28:02 -04:00
Danny Mösch and GitHub
25ef2ea69b
Remove trailing comma ( #6297 )
2025-10-13 22:56:24 +02:00
Nandhini Subramani and GitHub
a23e4c98bc
Exclude integer generic parameters from generic_type_name and handle them in identifier_name ( #6289 )
2025-10-10 23:07:41 +02:00
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 and GitHub
a0414c919d
Ignore @concurrent functions in async_without_await rule ( #6284 )
2025-10-08 19:06:56 +02:00
Danny Mösch and GitHub
4065fc8437
Enable upcoming feature MemberImportVisibility ( #6286 )
2025-10-08 08:12:05 +02:00
Danny Mösch and GitHub
a6247c24e4
Rewrite sorted_imports rule with SwiftSyntax ( #6280 )
2025-10-05 17:00:27 +02:00
Danny Mösch and GitHub
e9718145cb
Rewrite modifier_order rule with SwiftSyntax ( #6279 )
2025-10-04 16:39:17 +02:00
Danny Mösch and GitHub
530bf9d0c5
Let legacy function rules adhere to @SwiftSyntaxRule ( #6271 )
2025-10-03 08:03:59 -04:00
Danny Mösch and GitHub
7348cf0f4a
Use SwiftSyntax 6.3 pre-release 2025-09-15 ( #6206 )
2025-09-29 14:59:47 +02:00
Danny Mösch and GitHub
aa67f5ac13
Adopt typed throws where possible ( #5922 )
2025-09-27 19:11:46 +02:00
Danny Mösch and GitHub
0e2198d086
Exclude function types from async_without_await rule analysis ( #6258 )
2025-09-27 19:10:30 +02:00
Danny Mösch and GitHub
74e6c3625f
Ignore redundant_discardable_let in nested SwiftUI scopes ( #6257 )
2025-09-25 11:35:28 -04:00
Danny Mösch and GitHub
dcbdcc92d1
Ignore function, initializer and subscript declarations alike ( #6242 )
2025-09-07 11:53:32 +02:00
Danny Mösch and GitHub
5e6e59f212
Rewrite quick_discouraged_call rule with SwiftSyntax ( #6237 )
2025-09-06 14:10:38 +02:00
Danny Mösch and GitHub
4859fa8e82
Ensure that headers matched against always end in a newline ( #6234 )
2025-09-04 23:09:35 +02:00
Danny Mösch and GitHub
b58b8401a0
Improve detection of comment-only lines in file_length rule ( #6231 )
2025-09-04 10:27:26 +02:00
Danny Mösch and GitHub
b97f63a89d
Properly detect comment-only lines ( #6230 )
2025-09-03 23:42:04 +02:00
Danny Mösch and GitHub
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 and GitHub
6946309f9b
Consider other expression types before function calls ( #6226 )
2025-09-03 14:33:10 +02:00
Danny Mösch and GitHub
57d6752a2a
Merge function_name_whitespace and operator_whitespace rules ( #6217 )
2025-09-03 00:34:22 +02:00
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 and GitHub
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 and GitHub
8ada387884
Ignore locally defined count identifiers in empty_count rule ( #6202 )
2025-08-24 14:08:40 -04:00
Danny Mösch and GitHub
61507218f7
Exclude explicit system modules from duplicate_imports analysis ( #6203 )
2025-08-24 09:40:44 +02:00
Matt Thompson and GitHub
2cfb4c2068
Apply private_swiftui_state rule to ViewModifier types ( #6200 )
2025-08-23 12:05:49 +02:00
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