Commit Graph

3865 Commits

Author SHA1 Message Date
Martin Redington 22ac525989 Remove deprecated path arguments 2024-06-16 10:11:19 +02:00
Danny Mösch b42f6ffe77 Keep initializers with attributed parameters in unneeded_synthesized_initializer rule (#5594) 2024-05-17 23:06:09 +02:00
Danny Mösch ebf7c708b7 Stop triggering mark rule in the middle of another comment (#5593) 2024-05-17 22:29:26 +02:00
Danny Mösch b515723b16 Release 0.55.1 2024-05-16 21:42:01 +02:00
Danny Mösch 8bc8160416 Mark rule registry as sendable (#5587) 2024-05-16 21:21:24 +02:00
Danny Mösch 161391de27 Treat conditional code as if it was always active (#5581) 2024-05-16 16:48:47 +00:00
Danny Mösch 03af3167fb Fix wording of static_over_final_class rule's violation message (#5583) 2024-05-15 21:42:47 +00:00
Danny Mösch dfe19ac7fc Respect comments before opening braces in opening_brace rule (#5582) 2024-05-15 23:06:59 +02:00
Danny Mösch 40bee88132 Respect configuration in unneeded_override rule's rewriter (#5579) 2024-05-15 14:16:01 -04:00
Danny Mösch e84a6fc6b2 Silence unused_enumerated rule when $0 in a closure is explicitly unpacked (#5577) 2024-05-15 19:41:55 +02:00
Danny Mösch 460d88c036 release 0.55.0 2024-05-11 23:09:19 +02:00
Danny Mösch c29391a5ae Ignore but report invalid keys (#5567)
Don't fall back to the default configuration due to invalid keys.
2024-05-11 10:28:10 +00:00
Martin Redington b17bbaaebc Remove severity as a baseline key (#5566)
It interacts poorly with `--strict`.
2024-05-11 09:43:39 +02:00
Danny Mösch d734022778 Add package ACL (#5559) 2024-05-04 15:52:21 +02:00
Danny Mösch 4a72167b95 Check that a reference is not just extended 2024-05-03 22:26:21 +02:00
Danny Mösch 5f8fe00bf9 Pass an entity's parent to the traversal block as well 2024-05-03 22:26:21 +02:00
Danny Mösch 11cbac63d1 Enable consider_default_literal_types_redundant option (#5555) 2024-05-01 19:58:42 +00:00
Danny Mösch 1658f1de70 Extract method for common code and make signatures swiftier (#5554) 2024-05-01 19:48:13 +00:00
Garric G. Nahapetian 16c0213027 Add option to redundant_type_annotation rule to consider default literal types redundant (#4756) 2024-05-01 21:15:35 +02:00
Chandler Wall 16cb4a02b1 Fix numeric version comparisons (#5526) 2024-05-01 20:51:01 +02:00
Martin Redington 96db41c379 Add an experimental baseline feature (#5475) 2024-05-01 16:55:33 +02:00
Martin Redington 7623f1e730 Enable more rules in SwiftLint's own .swiftlint.yml (#5532) 2024-04-27 18:43:08 +02:00
Danny Mösch 5bbdf7f4e6 Allow to set configuration elements as deprecated (#5540)
Automatically print an appropriate warning to the console.
2024-04-25 19:37:04 +00:00
Danny Mösch 1b7fbc4bcd Make postprocessors non-throwing (#5539)
Failing immediately when a property is invalid is too strict. It feels
sufficient to allow to report an issue but otherwise continue with a default
value instead of stopping execution completely.
2024-04-23 16:45:59 -04:00
Danny Mösch 3276266716 Respect nested types in redundant_type_annotation rule (#5537) 2024-04-21 19:15:01 +00:00
Danny Mösch e643f210c5 Respect array types in redundant_type_annotation rule (#5536) 2024-04-21 17:39:54 +00:00
Marceau TONELLI b3dd89088e Rewrite redundant_type_annotation with SwiftSyntax (#5389)
Co-authored-by: Danny Mösch <danny.moesch@icloud.com>
2024-04-21 17:46:29 +02:00
waitbutY 5315c3d1b6 Add SARIF reporter (#5516) 2024-04-13 05:49:57 -04:00
Martin Redington 2d4f0bc85a Extend unused_enumerated rule to chained calls with closures (#5498) 2024-04-13 10:33:36 +02:00
waitbutY 745aec5903 Adjust case of severity in Code Climate reporter (#5523) 2024-04-07 12:39:08 +02:00
Martin Redington dd8789b530 Update blanket_disable_command rule reason and description (#5518) 2024-04-04 16:25:06 +00:00
Martin Redington dfb09820d3 Enable superfluous_disable_command rule for analyzer rules (#5522) 2024-04-03 20:27:21 +02:00
Martin Redington 8fdf669d53 Add all analyzer pseudo-rule (#5519) 2024-04-02 09:34:17 +02:00
Danny Mösch 758c22e7cb Prohibit configuration key inference (#5513)
While this is already implemented, it only works when a configuration
is updated by calling `apply(configuration:)` on it somewhere. This
imperceptible detail could lead to confusing. So better prohibit the
use of the feature for the time being as long as a good solution is
found. So far, no explicit configuration keys have been removed.
2024-03-27 19:08:59 -04:00
Danny Mösch 299042a233 Allow to configure only severity in a short form for every rule with a severity (#5509)
The README states that a configuration like `attributes: error` is
valid to only set a different severity level for a rule (the
`attributes` rule here). This was previously only possible for rules
that were accompanied by a plain severity configuration.

I don't think this broke with the automatic parsing code generation.
For some rules it might have worked before, for others not. This change
makes it consistently working for all rules.
2024-03-25 21:40:56 +01:00
Martin Redington 5075cc073c Fix warnings about configured rules that are not enabled, when they are enabled in a parent config (#4864) 2024-03-25 21:39:22 +01:00
Danny Mösch dfa7f2fd4d Use result builder to fix indentation (#5507) 2024-03-24 09:04:36 +00:00
Danny Mösch e6bb673444 Handle issues in nested contexts gracefully while still throwing standalone
Use different issues to make inlineable configurations work in both
scenarios, namely being used standalone and nested as part of another
configuration. In the latter case, finding no values to parse in a raw
configuration is okay, while as a standalone configuration it's not.
2024-03-24 09:36:18 +01:00
Danny Mösch ccd50e8c68 Merge duplicated issues 2024-03-24 09:36:18 +01:00
Danny Mösch 82cad0bfff Allow to infer option names (#5505)
This allows to infer names of options from their names in a configuration. CamelCase is translated into snake_case automatically when `apply` is triggered.

* Don't have all `RuleConfiguration`s conform to `InlinableOptionType`. Mark types that must have this capability explicitly. Same for `AcceptableByConfigurationElement`.
* A type being an `InlinableOptionType` doesn't mean it's automatically inlined. This also doesn't depend on the fact of having a name for its key configured any longer. Instead, an `inline` attribute must explicitly be set to `true` in `@ConfigurationElement`.
* Key name inference is optional and can be overwritten by specifying a key name in the attribute.
* Inlined configurations only fail in `apply` when they are really sure that something is odd. Otherwise, they accept to not being updated.
2024-03-23 18:54:39 +01:00
deterclosed 082adfaed7 Fix some typos (#5504) 2024-03-23 15:25:16 +01:00
Matt Thompson 9259698eef Make private_swiftui_state rule correctable (#5447) 2024-03-18 20:58:45 +01:00
Danny Mösch 6398c3b807 Shift selection of default reporter (#5499) 2024-03-17 20:26:15 +01:00
Oleg Kohtenko bedf211c43 Ignore absence of child or parent config instead of falling back to default (#5407) 2024-03-16 10:29:42 -04:00
Danny Mösch c32d5028cd Warn when --fix comes together with --strict or --lenient (#5493) 2024-03-11 20:14:10 +01:00
Danny Mösch 5bfe329d09 Update SwiftSyntax to version 510.0.0 (#5479) 2024-03-09 15:46:45 -05:00
Danny Mösch ed0241abf4 Move @preconcurrency attribute to script (#5492) 2024-03-09 14:50:42 +01:00
Danny Mösch e0b6a54f6b Support private_over_fileprivate rule for actors (#5490) 2024-03-08 23:37:13 +01:00
Phlippie a84d9a9ed4 Add new static_over_final_class rule (#5487) 2024-03-08 20:37:35 +01:00
Kotaro Suto d9c6888287 Make trailing_closure rule correctable (#5453) 2024-03-05 21:16:45 +01:00