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
Danny Mösch
73e6ba3067
Add parentheses to corrected opaque and existential optionals ( #5278 )
2023-10-15 06:43:43 -04:00
Danny Mösch
2ed1fc2f27
Let all rules be configurable ( #5274 )
2023-10-12 17:30:45 +02:00
Danny Mösch
58928b7e40
Enforce any on existential types ( #5273 )
...
This makes syntactically clear which types are rather expensive.
2023-10-12 08:37:23 +02:00
Danny Mösch
6438c77b96
Harmonize rule extensions ( #5272 )
2023-10-11 19:39:38 +02:00
Danny Mösch
0934c18cba
Let RuleConfigurations be equatable by default ( #5257 )
2023-10-03 18:05:31 +02:00
JP Simard
e30065e632
Prevent SwiftSyntax string interpolation errors in tests ( #5258 )
...
Previously this was logged to the console when running tests:
```
[ParseError] Parsing a `DeclSyntax` node from string interpolation produced the following parsing errors.
Set a breakpoint in `SyntaxParseable.logStringInterpolationParsingError()` to debug the failure.
```
And slightly improve the style of the expanded `@SwiftSyntaxRule` macro.
2023-10-03 14:53:41 +00:00
Danny Mösch
f6e5f778fc
Configure expression folding by argument of @SwiftSyntaxRule macro ( #5255 )
2023-10-03 07:16:33 -04:00
Danny Mösch
4716f59c54
Add tests for RuleConfigurationMacros ( #5256 )
2023-10-03 12:42:32 +02:00
Kotaro Suto
5d95b0adaf
Make unneeded_break_in_switch auto correctable ( #5188 )
2023-10-03 04:31:10 -04:00
JP Simard
591154091e
Introduce @SwiftSyntaxRule & @Fold macros ( #5253 )
...
These macros remove some of the boilerplate involved when writing rules.
This change also adds test infrastructure for the macros used within
SwiftLint.
2023-10-02 18:43:16 -04:00
Danny Mösch
2433e7b5bf
Make use of macros to generate configuration parsing code ( #5250 )
2023-10-02 22:35:24 +02:00
John Szumski
696e19df33
Fix false positives in unused_import rule for constructors defined in transitive modules ( #5246 )
2023-10-01 11:19:41 +02:00