Danny Mösch
69fadb6918
Remove no-op initializers from structs ( #4912 )
2023-04-20 11:59:37 +02:00
JP Simard
2f0e537f9b
Update SwiftSyntax to latest development snapshot ( #4759 )
...
* Merge `spacedBinaryOperator` and `unspacedBinaryOperator`
* New contextual keyword enums
* Update for removed `UnavailabilityConditionSyntax`
* Handle how attributes are now defined
This partially reverts commit 325d0ee1e4
.
* Handle removal of `TokenListSyntax`
* Update `Package.swift`
* Extract some SwiftSyntax helpers
* Update to `0.50900.0-swift-DEVELOPMENT-SNAPSHOT-2023-02-06-a`
* Skip attributes with keypath arguments in `attributes` rule
To preserve the rule's existing behavior.
* Limit unowned_variable_capture violations to capture lists
* Add changelog entries
2023-02-20 10:51:31 -05:00
Danny Mösch
5eed8fe91b
Enable `if_let_shadowing` rule and fix all violations ( #4247 )
2023-01-31 22:31:38 +01:00
Danny Mösch
e64e82d80d
Get rid of periods finishing rule descriptions
2023-01-10 22:29:13 +01:00
JP Simard
4bd7da32ea
Reduce visibility of rules to be `internal` ( #4533 )
...
There's no reason to expose these publicly and this will make it nicer
to move to a new module outside of the core SwiftLint functionality.
2022-11-09 11:01:26 -05:00
Danny Mösch
0fbd03cf2b
Require visitors to exist ( #4383 )
2022-10-16 18:40:12 +02:00
Danny Mösch
f8e5339c69
Introduce `ReasonedRuleViolation` type to associate a reason with a violation position ( #4379 )
2022-10-16 12:53:38 +02:00
Danny Mösch
bd8c9e5bcb
Provide syntax visitor base class allowing for convenient skipping of declaration nodes ( #4310 )
2022-10-15 19:03:49 +02:00
JP Simard
9aaeff67d0
Add `SyntaxProtocol.isContainedIn(regions:locationConverter:)` helper ( #4356 )
2022-10-12 19:50:32 +00:00
JP Simard
0282bf1923
Remove optionality in getting syntax tree and source location converter ( #4353 )
...
Parsing does not throw errors.
See https://github.com/apple/swift-syntax/pull/912 .
2022-10-12 12:50:17 -04:00
JP Simard
46649c8662
Rewrite `explicit_init` with SwiftSyntax ( #4223 )
2022-10-04 11:20:00 -04:00
Danny Mösch
f3e2c0b7bb
Replace manual backtracking by location information from the captured group ( #4111 )
2022-08-19 20:14:19 +02:00
Danny Mösch
6dc2ef937e
Add trigger markers to examples ( #4110 )
2022-08-18 22:15:11 +00:00
Kotaro Suto
78949c1b99
Fix broken correction for `explicit_init` rule ( #4109 )
2022-08-18 17:17:52 +00:00
Danny Mösch
449190d324
Verify examples in rules by default and enforce explicit exclusion ( #4065 )
...
A rule must conform to ManuallyTestedExamplesRule to skip generation of a test for its examples.
2022-08-09 22:32:09 +02:00
Marcelo Fabri
f8ef7d649c
Enable legacy_multiple and prefer_self_type_over_type_of_self in our codebase
2020-08-05 01:11:17 -07:00
Zev Eisenberg
fcf848608e
Add Inline test failure messages ( #3040 )
...
* Add Example wrapper in order to display test failures inline when running in Xcode.
* Stop using Swift 5.1-only features so we can compile on Xcode 10.2.
* Wrap strings in Example.
* Add Changelog entry.
* Wrap all examples in Example struct.
* Better and more complete capturing of line numbers.
* Fix broken test.
* Better test traceability.
* Address or disable linting warnings.
* Add documentation comments.
* Disable linter for a few cases.
* Limit mutability and add copy-and-mutate utility functions.
* Limit scope of mutability.
2020-02-02 10:35:37 +02:00
JP Simard
fe5baca7cd
Migrate to use SourceKitten's new ByteCount/ByteRange types ( #3037 )
...
New APIs were introduced in SourceKitten to allow for a more typesafe distinction between integers meaning NSString-based distances and byte-based distances.
* https://github.com/jpsim/SourceKitten/pull/639
* https://github.com/jpsim/SourceKitten/pull/642
This PR migrates SwiftLint's use of those APIs.
2020-01-16 15:18:37 -08:00
JP Simard
40ade98710
Update SourceKitten to 0.28.0 ( #3011 )
2020-01-03 16:47:18 -08:00
Max Härtwig
44b04f377d
Allow SubstitutionCorrectableRule to return nil instead of a correction to indicate that a suitable correction couldn't be found for a specific case ( #2958 )
2020-01-02 23:15:40 -08:00
Paul Taykalo
ac40778cb3
Use SwiftLintFile wrapper over the File
2019-11-07 15:19:17 +02:00
Paul Taykalo
8c963d2c15
Working solution with SouceKittenDictionary wrapper
2019-11-07 08:50:50 +02:00
Marcelo Fabri
d9df6976d5
Migrate ExplicitInitRule
2019-01-27 18:42:34 -08:00
Kim de Vos
5da6028054
Convert rule examples to multiline string literals ( #2506 )
2018-12-23 15:11:03 -08:00
JP Simard
0e862ca9c4
Enable vertical whitespace rules in SwiftLint
...
and fix violations
2018-12-02 14:01:23 -08:00
Dominic Freeston
e962440815
Fix false positives for `explicit_init` when passing init as closure in multiline call ( #2478 )
...
* Ignore calls with `(` before .init
* Update rules documentation
* Update CHANGELOG.md
* Change multi-line string to single-line with explicit newlines
2018-11-26 17:44:11 -08:00
JP Simard
3961d6482b
Organize rules by kind in Xcode project ( #2341 )
2018-08-05 18:54:05 -07:00