Commit Graph

51 Commits

Author SHA1 Message Date
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
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
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
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
Danny Mösch c730047176 Enable superfluous_else rule (#5412) 2024-03-03 16:30:44 +01:00
Danny Mösch 7c29ae4f3e Add new shorthand_argument rule (#5451) 2024-02-06 23:36:28 +00:00
Kasra Babaei 77bae5429c Allow line_length rule to ignore certain lines based on regex patterns (#5437) 2024-01-26 09:40:59 +01:00
m.a 443cbd7fce Add new option ignore_typealiases_and_associatedtypes to nesting rule (#5433) 2024-01-21 12:28:23 -05:00
Marceau TONELLI 902ac305bf Add option to switch_case_alignment rule to ignore switch statements written on a single line (#5390) 2024-01-03 22:43:37 +01:00
Danny Mösch ddaf3d22ad Add new final_test_case rule (#5396) 2023-12-20 20:59:03 +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
Danny Mösch efddde68ac Allow to configure more operators in identifier_name rule (#5362) 2023-11-19 15:59:54 +01: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
Danny Mösch 0934c18cba Let RuleConfigurations be equatable by default (#5257) 2023-10-03 18:05:31 +02:00
Danny Mösch 2433e7b5bf Make use of macros to generate configuration parsing code (#5250) 2023-10-02 22:35:24 +02:00
Tatsuyuki Kobayashi 1bbce6c1b0 Add only configuration option to todo rule (#5233) 2023-09-26 14:45:04 -04:00
Ricky Tan 865f0227f6 Add new mode weak_except_iboutlets to implicitly_unwrapped_optional rule (#4975) 2023-09-15 22:15:42 +02:00
Martin Redington 0c9827bc59 Add include_bare_init option to explicit_init rule (#5203) 2023-09-04 22:19:54 +02:00
Danny Mösch 02640a3415 Rewrite implicit_return rule using SwiftSyntax (#5166) 2023-09-02 14:32:37 +02:00
Dylan Bettermann d85c85d351 Add invokeTest() to overridden_super_call defaults (#5192) 2023-08-29 20:40:22 +02:00
Danny Mösch ef494f7428 Deprecate parts of private_unit_test rule's configuration (#5102) 2023-08-28 14:15:21 -04:00
Danny Mösch 3b228cbf2e Remove support for deprecated option (#5107) 2023-08-28 13:42:44 -04:00
Danny Mösch 9f927e9d9b Add new non_overridable_class_declaration rule (#5160) 2023-08-28 13:34:09 -04:00
Danny Mösch 4d5311f194 Make severity configurable in type_contents_order rule 2023-07-08 14:56:50 +02:00
Danny Mösch 45ba074b7a Document exclude_ranges in number_separator rule 2023-07-08 14:56:50 +02:00
Danny Mösch 045ba9f641 Remove redundant initializer (#5097) 2023-07-04 18:28:26 -04:00
Danny Mösch ac81139942 Provide projectedValue to refer to option name (#5098) 2023-07-05 00:05:04 +02:00
Danny Mösch 02ba97225f Remove redundant initializer (#5095) 2023-07-03 23:24:43 +02:00
Danny Mösch 678cd6f805 Introduce a model for rule configuration description (#3931) 2023-07-03 22:47:30 +02:00
Danny Mösch 33545d2f4b Add configuration for unallowed symbols severity (#5066) 2023-06-22 10:42:41 -04:00
Martin Redington 0693d547b0 Add new unneeded_synthesized_initializer rule (#4812) 2023-06-21 22:15:02 +02:00
Danny Mösch f5ea2492dc Merge allowed symbols with alphanumerics where possible 2023-06-18 12:01:28 +02:00
Danny Mösch b89e43a799 Make sure case check can be disabled by new off option value (#5064) 2023-06-17 22:27:57 +02:00
Danny Mösch 23326fc433 Specify default options in configurations only (#5056) 2023-06-11 10:44:06 -07:00
Danny Mösch a2ba0a0626 Omit "Rule" in configuration names (#5024) 2023-05-20 04:39:04 -04:00
Hilton Campbell 1094a3b70e Add grouping option to the sorted_imports rule (#4935) 2023-05-19 15:49:07 -04:00
Danny Mösch 3f039f26d5 Connect configs with their referencing rules to have some context in error logging (#5017)
With the binding of configurations to their associated rule types
"unknown configuration" errors can be made more specific mentioning
also the rule's identifier in the printed message.
2023-05-19 20:58:24 +02:00
Danny Mösch 671589b1d4 Let configuration names match rule names (#5021) 2023-05-18 12:04:39 -04:00
Danny Mösch d938b2d3c3 Specify default options in configurations only (#5020) 2023-05-18 17:21:30 +02:00
Danny Mösch 7fd22e0d6e Use SeverityBasedRuleConfiguration where possible (#5019) 2023-05-18 16:04:20 +02:00
Danny Mösch fe312a06fe Rely on pre-defined issues and allow to print them directly to the console (#5013)
Advantages of having typical errors at a common place:
* Error message styling can be harmonized
* Existing messages can be reused
* Overview of prefixes ('error: ', 'warning: ')
* Manage how to print them to the console
2023-05-16 20:15:14 +02:00
Danny Mösch 405113f793 Open ConfigurationError up to be used more broadly (#5005) 2023-05-14 20:00:46 +02:00
Danny Mösch f4987071f0 Extract configuration into its own file (#5007) 2023-05-14 13:05:36 -04:00
Danny Mösch c99a4286b8 Let validates_start_with_lowercase option in name configurations expect a severity 2023-05-10 22:20:30 +02:00
Danny Mösch 8d5700afca Remove deprecation warning in identifier_name rule
It was introduced 6 years ago.
2023-05-10 22:20:30 +02:00
Danny Mösch 7756793356 Add new option to attributes rule to influence it for attributes with arguments (#4855) 2023-05-05 16:12:01 -04:00
Chris White 71b89e66de Prepend warning: to error messages (#4927) 2023-05-01 18:26:25 +02:00