Commit Graph

3780 Commits

Author SHA1 Message Date
Muhammad Zeeshan 7d6f6cfa17 Add new one_declaration_per_file rule (#5377) 2023-12-09 05:11:25 -05:00
Danny Mösch f369caae44 Silence pattern_matching_keywords rule when an identifier is referenced in the argument list (#5375) 2023-12-04 23:03:39 +01:00
Danny Mösch e4e22b5b8a Improve discarded_notification_center_observer rule (#5371) 2023-12-04 22:06:12 +01:00
Ben P 544e1c60c7 Add a new non_optional_string_data_conversion rule (#5264) 2023-12-02 07:33:22 -05:00
Kishikawa Katsumi 0d54c2a10d Rewrite opening_brace rule with SwiftSyntax (#5164) 2023-12-02 12:21:50 +01:00
Leonardo de Sousa Rodrigues eecb44db6e Add option to make unneeded_override rule affect initializers (#5270) 2023-11-30 21:35:53 +01:00
Danny Mösch 8cb2cf9f85 Rewrite let_var_whitespace rule with SwiftSyntax (#5367) 2023-11-29 22:45:06 +01:00
Marcelo Fabri ff1e966e3a Rewrite multiline_literal_brackets using SwiftSyntax (#5333) 2023-11-19 20:23:26 +00:00
Danny Mösch efddde68ac Allow to configure more operators in identifier_name rule (#5362) 2023-11-19 15:59:54 +01:00
Danny Mösch 09d1ef9d1d Harmonize violation positions (#5360)
Marks the violating identifiers directly.
2023-11-19 13:51:53 +01:00
Danny Mösch eab0af851c Rewrite identifier_name rule with SwiftSyntax (#5354) 2023-11-19 12:47:41 +01:00
Danny Mösch 9cd47401c0 Ignore functions with default parameters in unneeded_override rule (#5356) 2023-11-16 22:44:10 +01:00
Martin Redington 33e3593c86 Skip simple tuples in no_magic_numbers rule (#5327) 2023-11-15 20:33:59 +01:00
Danny Mösch 9fbc04ecba Rewrite void_return rule with SwiftSyntax (#5351) 2023-11-15 07:13:36 +01:00
Danny Mösch fb4ef951ee Print invalid keys when configuration parsing fails (#5350) 2023-11-14 23:43:38 +01:00
Danny Mösch 1603f4ab55 Remove filter that is assuming classes cannot be nested inside of extensions (#5344) 2023-11-11 14:28:16 +01:00
Danny Mösch 779f6f0910 Add missing subscript declaration 2023-11-11 14:06:06 +01:00
Danny Mösch 3a03e7a31f Extract method that checks if a declaration shall be skipped 2023-11-11 14:06:06 +01:00
JP Simard f17a4f9dfb release 0.54.0 2023-11-10 15:54:29 -05:00
Vladimir 3a6503212d Set the excluded files list once when getting lint files (#5330) 2023-11-10 15:04:07 -05:00
Marcelo Fabri ed8ed010f1 Revert "Trigger superfluous_disable_command for custom_rules (#4755)" (#5339)
This reverts commit 7499896199.
2023-11-09 04:11:48 -05:00
Kabir Oberai 92679e230d Fix implicit_getter false positive in case of unknown accessors (#5300) 2023-11-09 09:14:16 +01:00
Marcelo Fabri da597eaeca Add example for #3581 (#5334)
Fixes #3581
2023-11-07 09:26:15 +00:00
Marcelo Fabri 7499896199 Trigger superfluous_disable_command for custom_rules (#4755)
Fixes #4754
2023-11-07 04:11:58 -05:00
Marcelo Fabri 020a0e119a Rewrite vertical_parameter_alignment_on_call using SwiftSyntax (#5332) 2023-11-07 01:09:45 -08:00
Marcelo Fabri 5987582f93 Rewrite no_grouping_extension rule with SwiftSyntax (#5328) 2023-11-05 23:45:36 -08:00
Danny Mösch e7460339d4 Declare ConfigurationElement as Equatable right away 2023-11-05 00:24:42 +01:00
Danny Mösch 45e19610be Use _modify accessor to allow ConfigurationElement to be a struct type 2023-11-05 00:24:42 +01:00
JP Simard 6e3bfc1a45 Fix more strict concurrency warnings (#5324)
These aren't enough to enable `-strict-concurrency=complete` for more
modules, but they address some warnings with that flag on and reduces
the scope of what remains to be migrated.
2023-11-01 12:41:54 -04:00
JP Simard 3eb3772022 Compile with -strict-concurrency=complete (#5320)
* Compile with `-strict-concurrency=complete`

Only in Bazel for now, because this is considered an unsafe flag in
SwiftPM which would lead to warnings for downstream consumers of
SwiftLint using SwiftPM.

Some imports of SwiftSyntax need the `@preconcurrency` annotation until
https://github.com/apple/swift-syntax/pull/2322 is available in a
release.

The following SwiftLint libraries have `-strict-concurrency=complete`
applied:

* SwiftLintCoreMacros
* SwiftLintBuiltInRules
* SwiftLintExtraRules

The following SwiftLint libraries don't have the flag applied and need
to be migrated:

* SwiftLintCore
* swiftlint (CLI target)

So really the rules and macros are now being compiled with
`-strict-concurrency=complete`, but the core infrastructure of SwiftLint
is not.

Still, given that Swift 6 will eventually make these warnings errors by
default, it's good to prevent issues from creeping in earlier rather
than later.

* Add CI job to build with strict concurrency
2023-11-01 15:20:40 +00:00
uabyss 6dc4b86f98 Added viewIsAppearing in viewLifecycleMethodNames (#5316) 2023-11-01 08:48:49 -04:00
JP Simard 48604d35e3 Update Sourcery to 2.1.2 (#5318) 2023-10-31 20:34:49 +00:00
JP Simard c4ae9026cb Rewrite DuplicateImportsRule with SwiftSyntax (#5317) 2023-10-31 17:23:25 +00:00
JP Simard 0c635e447f Rewrite DiscouragedOptionalCollectionRule with SwiftSyntax (#5313) 2023-10-30 18:11:49 -04:00
JP Simard bc7d3c0228 Remove unused SubstitutionCorrectableASTRule protocol (#5312)
Last use was removed in https://github.com/realm/SwiftLint/pull/4192.
2023-10-30 14:11:38 -04:00
Marcelo Fabri 686dc3dd32 Rewrite RedundantVoidReturnRule with SwiftSyntax (#4192)
Also include redundant void return clauses for closures in addition to
functions. This can be disabled by configuring the rule with
`include_closures: false`.

Co-authored-by: JP Simard <jp@jpsim.com>
2023-10-30 13:41:31 -04:00
Marcelo Fabri 715198ae3f Rewrite cyclomatic_complexity with SwiftSyntax (#5308) 2023-10-29 11:17:45 -07:00
Marcelo Fabri 5466f96818 Conform BlanketDisableCommandRule to SourceKitFreeRule (#5306) 2023-10-28 23:39:14 -07:00
Marcelo Fabri 491cf5e227 Conform InvalidSwiftLintCommandRule to SourceKitFreeRule (#5304) 2023-10-28 21:57:59 -07:00
Marcelo Fabri 8e34619576 Speed up closure_parameter_position when there are no violations (#5302) 2023-10-27 08:55:46 -07:00
BB9z cb3001bca2 Keep trailing trivia in explicit_init rule correction (#5296) 2023-10-23 15:41:10 -04:00
Danny Mösch 4c0f33782c Check disabled regions for all syntax types in parent rewriter class (#5292) 2023-10-23 15:34:51 -04:00
Danny Mösch b87467fb2c Fail with diagnostic on non-boolean macro arguments 2023-10-19 21:35:57 +02:00
Danny Mösch 3ce2d60938 Move and rename macro errors 2023-10-19 21:35:57 +02:00
Danny Mösch 5ee0ff9535 Inline constants 2023-10-19 21:35:57 +02:00
Danny Mösch ca045a236b Use enums for macro implementations 2023-10-19 21:35:57 +02:00
Danny Mösch 5ec1de0312 Generate makeRewriter optionally (#5281) 2023-10-17 15:19:19 -04:00
Danny Mösch 57632017e4 Introduce parent class for rewriters (#5282) 2023-10-17 18:55:02 +02:00
Danny Mösch 40bd97038a Support arbitrary configurations in @SwiftSyntaxRule (#5275)
Almost all rules based on SwiftSyntax can be set up now by just adding
`@SwiftSyntaxRule` to the rule struct.
2023-10-16 19:34:43 +02:00
JP Simard 907294929b Remove workaround for SR-11170 (#5280)
The original issue was closed a year ago and this doesn't appear to be
needed anymore.

I compiled in Debug mode and ran the tests in Xcode to verify.
2023-10-16 09:39:10 -04:00