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