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
48fde2321f
Rewrite `contains_over_first_not_nil` & `last_where` with SwiftSyntax ( #4366 )
...
Replace `MemberAccessExprSyntax.functionCallBase` with
`ExprSyntax.asFunctionCall` so we can use it in more places.
Move `TokenKind.isEqualityComparison` into `SwiftSyntax+SwiftLint.swift`
2022-10-13 15:59:30 +00:00
JP Simard
8d29b21ecb
Rewrite `sorted_first_last` & `first_where` with SwiftSyntax ( #4365 )
...
Add a `functionCallBase` helper.
2022-10-13 15:30:22 +00:00
Kotaro Suto
3aa249b8a1
Fix first_where false negative ( #4105 )
2022-08-17 00:06:32 +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
Paul Taykalo
693ee2cae9
Add Isnot Empty extension in the Swift Framework ( #3387 )
2020-11-07 18:42:55 -05: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
Paul Taykalo
ac40778cb3
Use SwiftLintFile wrapper over the File
2019-11-07 15:19:17 +02:00
Paul Taykalo
b1cdc119ec
Use swift enums instead of raw values
2019-11-07 11:05:19 +02:00
Cihat Gündüz
3c607f1f4a
[first_where] Make triggering example valid Swift code
2019-02-14 21:29:49 +01:00
Cihat Gündüz
5e1b491eea
[first_where] Fix code smells like suggested by @marcelofabri
2019-02-14 21:29:49 +01:00
Cihat Gündüz
09fb947887
[first_where] Prevent false positives by excluding some substructures
2019-02-14 21:29:49 +01:00
Cihat Gündüz
2d67f611b8
[first_where] Add false positives from #1930 as non-triggering examples
2019-02-14 21:29:49 +01:00
Marcelo Fabri
4b12e08731
Fix false positives on Realm collections
2018-12-25 18:41:53 -08:00
JP Simard
0e862ca9c4
Enable vertical whitespace rules in SwiftLint
...
and fix violations
2018-12-02 14:01:23 -08:00
JP Simard
3961d6482b
Organize rules by kind in Xcode project ( #2341 )
2018-08-05 18:54:05 -07:00