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
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
Marcelo Fabri
1aa8289085
Allow rules to lint empty files ( #5478 )
2024-03-04 07:36:40 -08:00
Danny Mösch
c730047176
Enable superfluous_else rule ( #5412 )
2024-03-03 16:30:44 +01:00
Danny Mösch
d0fb75fcfb
Prefer package ACL over @_spi ( #5466 )
2024-03-03 16:30:04 +01:00
Danny Mösch
4078e41f1b
Let all rewriters have a configuration by default ( #5467 )
2024-02-11 15:13:24 +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
fb4ef951ee
Print invalid keys when configuration parsing fails ( #5350 )
2023-11-14 23:43:38 +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
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
2433e7b5bf
Make use of macros to generate configuration parsing code ( #5250 )
2023-10-02 22:35:24 +02:00
JP Simard
3adea74200
release 0.53.0
2023-09-26 11:23:51 -04:00
JP Simard and Danny Mösch
406d4d270b
Require Swift 5.9 ( #5235 )
...
Co-authored-by: Danny Mösch <danny.moesch@icloud.com >
2023-09-25 18:54:02 -04:00
Martin Redington
f783b0279a
Add strict configuration file setting ( #5226 )
2023-09-18 19:27:30 +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
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
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
Danny Mösch
45ba074b7a
Document exclude_ranges in number_separator rule
2023-07-08 14:56:50 +02:00
Danny Mösch
9881930be5
Implement conformances in extensions ( #5109 )
2023-07-08 13:52:17 +02:00
JP Simard
9eaecbedce
release 0.52.4
2023-07-06 14:43:54 -04:00
Danny Mösch
d1fe2fc1d3
Omit empty default configurations from documentation ( #5100 )
2023-07-05 17:52:43 -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
678cd6f805
Introduce a model for rule configuration description ( #3931 )
2023-07-03 22:47:30 +02:00
JP Simard
117405ce36
release 0.52.3
2023-06-22 11:00:07 -04:00
Danny Mösch
41b06629fd
Add new --silence-deprecation-warnings flag ( #5014 )
2023-06-20 16:03:22 -04: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
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
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
d73970e9d7
Remove error wrapper ( #5008 )
2023-05-16 18:22:25 +02:00
Danny Mösch
405113f793
Open ConfigurationError up to be used more broadly ( #5005 )
2023-05-14 20:00:46 +02:00
JP Simard
34f5ffa7f7
release 0.52.2
2023-05-12 11:02:03 -04:00
Marcelo Fabri
9f7c57b719
Make id and isVirtual public in SwiftLintFile ( #4994 )
2023-05-11 13:33:48 -04:00
JP Simard
5616d858bc
release 0.52.1
2023-05-11 11:13:58 -04:00