Commit Graph

86 Commits

Author SHA1 Message Date
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
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 7499896199 Trigger superfluous_disable_command for custom_rules (#4755)
Fixes #4754
2023-11-07 04:11:58 -05: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 48604d35e3 Update Sourcery to 2.1.2 (#5318) 2023-10-31 20:34:49 +00: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
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 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 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 0934c18cba Let RuleConfigurations be equatable by default (#5257) 2023-10-03 18:05:31 +02:00
Danny Mösch f6e5f778fc Configure expression folding by argument of @SwiftSyntaxRule macro (#5255) 2023-10-03 07:16:33 -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
JP Simard 3adea74200 release 0.53.0 2023-09-26 11:23:51 -04:00
JP Simard 406d4d270b Require Swift 5.9 (#5235)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2023-09-25 18:54:02 -04:00
Danny Mösch 075017cba5 Merge modifier extensions into one (#5234) 2023-09-24 23:50:10 +02:00
laralove fa7956c479 Add examples to superfluous_disable_command rule (#5217) 2023-09-20 17:58:16 -04:00
Martin Redington f783b0279a Add strict configuration file setting (#5226) 2023-09-18 19:27:30 +02:00
Danny Mösch 35a78815d1 Update SwiftSyntax (#5198) 2023-09-14 22:49:55 +02:00
Tatsuyuki Kobayashi b609a4bebb Fix false positive in test_case_accessibility (#5212) 2023-09-08 10:12:55 -07:00
Martin Redington 0c9827bc59 Add include_bare_init option to explicit_init rule (#5203) 2023-09-04 22:19:54 +02:00
Martin Redington a459ccf5c4 Drop support for disable/enable commands in multiline comments (#4803) 2023-09-03 18:09:55 -04:00
Danny Mösch 02640a3415 Rewrite implicit_return rule using SwiftSyntax (#5166) 2023-09-02 14:32:37 +02:00
Danny Mösch be83b486ca Generalize alternative way to rewrite code (#5163) 2023-08-31 17:00:07 -04:00
Danny Mösch b281a8d33a Update SwiftSyntax (#5168) 2023-08-30 22:57:10 +02:00
Danny Mösch 84405f9d3f Use correct separator for nested descriptions 2023-08-28 20:19:28 +02:00
Danny Mösch d5a176790a Reuse option serialization code 2023-08-28 20:19:28 +02:00
Danny Mösch 668cce84db Print YAML configuration in output of rules command 2023-08-28 20:19:28 +02:00
Danny Mösch 5544ce1d47 Hide reporters from public interface (#5122) 2023-08-28 13:49:52 -04:00
Danny Mösch 9f927e9d9b Add new non_overridable_class_declaration rule (#5160) 2023-08-28 13:34:09 -04:00
Martin Redington e9c22852e5 Ignore no_magic_numbers violations if they are in an extension of a test class (#5146)
Only works in the same file.
2023-08-05 22:07:40 +02:00
Danny Mösch 85c4a3a03d Revert "Allow to initialize Examples by string literals (#5154)" (#5155)
This reverts commit 56461c3ab4.
2023-08-04 00:03:26 +02:00
Danny Mösch 56461c3ab4 Allow to initialize Examples by string literals (#5154) 2023-08-03 23:03:41 +02:00
Martin Redington 9a5c3ed641 Disabled rules in child configs are no longer automatically ignored if they are opt-in (#4863) 2023-07-26 21:19:39 +02:00
Danny Mösch 5b64c1097a Fix runtime error when an excluded directory does not exist (#5143) 2023-07-25 21:25:04 +02:00
Danny Mösch b53919d40c Simplify data flow 2023-07-17 23:18:26 +02:00
Danny Mösch a25fbe3e50 Make indent function a String extension 2023-07-17 23:18:26 +02:00
Danny Mösch 2c45e3c4c5 Fix method documentation (#5125) 2023-07-15 22:17:43 +00:00