433 Commits

Author SHA1 Message Date
Danny Mösch 33430347e8 Support access level modifiers on imports in unused_imports (#6631)
Co-authored-by: Copilot <copilot@github.com>
2026-05-06 03:06:56 -04:00
Danny Mösch 767d780c59 Taint variables in tuples (#6629) 2026-05-06 06:43:24 +02:00
theamodhshetty ef026db5af Fix prefer_self_in_static_references for shadowed nested types (#6552)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-04-19 09:35:59 -04:00
Pavlo Tanaiev 9bc16b539b Fix indentation_width false positives for multi-line conditions (#6505)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-04-19 09:08:24 -04:00
Dimitri Dupuis-Latour 65f44a07e7 Add new legacy_uigraphics_function rule (#6269)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-04-15 21:26:36 -04:00
Danny Mösch f242859a0a Add new redundant_final rule (#6597)
Co-authored-by: William Laverty <wlaverty13@gmail.com>
2026-04-15 22:01:29 +02:00
Danny Mösch ceef663aaa Track type member declarations optionally (#6596) 2026-04-15 21:58:40 +02:00
Nadeem Ali 949cfe9889 Add new variable_shadowing rule (#6568)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-04-13 14:14:17 -04:00
Rodion Ivashkov a7878fcd67 Ignore case patterns in multiline_call_arguments (#6444)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-04-11 08:40:43 +02:00
theamodhshetty bd662b7009 Catch guard else spacing in statement_position rule (#6543) 2026-04-10 15:51:50 -04:00
Eduard Miniakhmetov c40896d3ad Add new invisible_characters rule (#6424)
Co-authored-by: Miniakhmetov Eduard <eminiakhmetov@sportmasterlab.net>
2026-04-07 14:06:59 +02:00
Nadeem Ali 2b91a5a691 Add detection of leading-dot to optional_data_string_conversion rule (#6372)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-03-30 08:35:37 +00:00
Danny Mösch 99ec4923d8 Use effective ACL in discouraged_default_parameter rule (#6563) 2026-03-27 21:25:37 +01:00
Danny Mösch 29a71dd50d Track variables declared in tuples (#6565) 2026-03-27 19:44:12 +01:00
theamodhshetty 6dc566b7a5 Add underscore-prefixed option to unused_parameter rule (#6509) 2026-03-05 16:46:53 -05:00
William Laverty 87bfcc6832 Add disallow_default_parameter opt-in rule (#6506)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-03-05 16:22:21 -05:00
William Laverty afae448953 Skip @TestState variables in quick_discouraged_call rule (#6514) 2026-03-05 04:01:08 -05:00
theamodhshetty 15d7a3d9ef Add ignore_attributes option to implicit_optional_initialization (#6513) 2026-02-28 10:52:08 +00:00
c 09f2fcaeb3 Skip force_unwrapping for calls with static string literal arguments (#6490)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-02-19 14:51:13 -05:00
Danny Mösch cc3b22c128 Open new scope only for trailing closures (#6492) 2026-02-13 17:32:27 +01:00
Danny Mösch f0c61bdb9d Check whether closure is in disabled region (#6474) 2026-01-31 23:04:05 +01:00
Danny Mösch 2f1e78c013 Shorten rule description (#6473) 2026-01-31 16:50:39 -05:00
Danny Mösch fba2bd9699 Visit infix operator expressions directly to reduce potential scope (#6472) 2026-01-31 22:40:29 +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 987f3603ae Use start position of closure to check if rule is disabled (#6458) 2026-01-23 20:52:05 +01:00
Danny Mösch 335edded41 Inline dedicated rule test (#6459) 2026-01-23 14:25:19 -05:00
Danny Mösch 6de2cc9587 Use SwiftSyntax 6.4 pre-release 2026-01-20 (#6447) 2026-01-21 00:00:37 +01:00
Danny Mösch 9a634bc8a0 Retain async initializers in actors in async_without_await (#6436) 2026-01-14 17:01:50 -05:00
tristan-burnside-anz d4585d4814 Exclude bool literals in optional_enum_case_name correction (#6418) 2026-01-08 09:39:47 +00:00
Copilot 7a9186a39b Ignore override declarations in async_without_await rule (#6417)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2026-01-07 20:26:30 +01:00
Danny Mösch cb578f4629 Use stack to track nested closures (#6411) 2026-01-05 10:50:41 +01: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 21ff90f564 Keep escaping autoclosure passed on (#6394) 2025-12-27 09:49:34 -05:00
Danny Mösch 779c5ab94c Keep unwrapped self in extensions for optional types (#6396) 2025-12-27 09:39:39 -05:00
Danny Mösch c09e3bbe34 Taint branches of tainted ternary expressions (#6393) 2025-12-26 22:49:21 +01:00
Danny Mösch 154e47e481 Keep closures assigned to wildcard variables as non-escaping (#6392) 2025-12-25 23:03:47 +01:00
Brett Best fb046797b2 Add handling for access level modifiers on imports (#6377) 2025-12-19 04:10:07 -05:00
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