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
github-actions[bot]
bcfc2c4b6c
Update SwiftSyntax ( #4673 )
...
* Exclude `Documentation.docc` when building SwiftSyntax
* Remove references to `.stringInterpolationAnchor`
Co-authored-by: JP Simard <jp@jpsim.com>
2023-01-06 11:12:17 -05:00
JP Simard
c1c5e5f722
Add test cases for https://github.com/realm/SwiftLint/issues/4565 ( #4593 )
2022-11-25 11:12:48 -05:00
JP Simard
f6de471b5f
Fix false positives in `closure_spacing` ( #4584 )
...
Fixes https://github.com/realm/SwiftLint/issues/4582
2022-11-24 10:30:40 -05: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
JP Simard
1ee5154687
Update SwiftSyntax to `fa7ff05` ( #4455 )
...
There's a new SwiftParserDiagnostics module and the rewriter visit
function signatures changed.
2022-10-23 11:56:22 -04: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
2388e49190
Use SwiftSyntax's new SwiftParser ( #4216 )
2022-10-01 15:05:36 -04:00
JP Simard
4b8a68072b
Call `super.visit` in `SyntaxRewriter` overrides ( #4167 )
...
As discussed in https://github.com/realm/SwiftLint/pull/4159#discussion_r962841482
2022-09-06 13:52:40 +00:00
JP Simard
5a30991fa4
Add SwiftSyntax rule helpers ( #4126 )
...
This cuts down on the boilerplate involved in writing SwiftSyntax-based
rules. May not be significant right now since most rules are still built
with SourceKit, but as we migrate more rules moving forward, this should
make it easier for rule authors to write rules that behave performantly
and correctly.
2022-08-26 14:46:32 +00:00
JP Simard
3037946bbc
Migrate ClosureSpacingRule to SwiftSyntax ( #4092 )
...
Fixes #4090 . Continued from #4091 .
2022-08-15 18:27:43 +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
Ikko Ashimine
81eb0d9b1f
Fix typo in ClosureSpacingRule.swift ( #3669 )
...
occurences -> occurrences
2021-07-06 10:41:59 -07:00
Paul Taykalo
693ee2cae9
Add Isnot Empty extension in the Swift Framework ( #3387 )
2020-11-07 18:42:55 -05: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
Paul Taykalo
73802c285d
Add own wrappers over syntax tokens and syntax map
2019-11-10 22:55:54 +02:00
Paul Taykalo
ac40778cb3
Use SwiftLintFile wrapper over the File
2019-11-07 15:19:17 +02: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