Commit Graph

2698 Commits

Author SHA1 Message Date
Keith Smiley 3151e6c45f Add NonPrivateXCTestMembersRule (#3248)
Co-authored-by: JP Simard <jp@jpsim.com>
2020-11-16 09:50:56 -08:00
JP Simard 07f559549a Rename OverridenSuperCallConfiguration to fix typo (#3426)
* BREAKING CHANGE: As `OverridenSuperCallConfiguration` is a
publicly-exposed struct, this rename should be considered breaking.

* Fix consoleDescription for OverriddenSuperCallConfiguration
2020-11-11 13:37:12 -05:00
Jan-Otto Kröpke 874cacbd1f Add codeclimate reporter (#3425) 2020-11-11 10:29:00 -08:00
Bryan Ricker 999bfbdefa Fix consoleDescription for OverriddenSuperCallConfiguration 2020-11-10 20:40:41 -08:00
Bryan Ricker 8a0eb67561 chore: rename OverridenSuperCallConfiguration to OverriddenSuperCallConfiguration
BREAKING CHANGE: As `OverridenSuperCallConfiguration` is a
publicly-exposed struct, this rename should be considered breaking.
2020-11-10 20:40:41 -08:00
JP Simard bf2790df54 Enable CommentSpacingRule by default
And fix violations in SwiftLint
2020-11-10 12:50:39 -05:00
JP Simard 869fe868b3 Apply minor refactorings
1. Add some comments
2. Name variables when used in multiline closures
3. Change violation range length from 1 to 0, which simplifies the
   substitution
4. Tweak indentation
2020-11-10 12:42:40 -05:00
Noah Gilmore 5108233ac5 Further PR comments 2020-11-09 21:54:14 -08:00
Noah Gilmore 6bd38e8607 Update Source/SwiftLintFramework/Rules/Lint/CommentSpacingRule.swift
Co-authored-by: JP Simard <jp@jpsim.com>
2020-11-09 21:54:14 -08:00
Noah Gilmore 442eac2556 Update Source/SwiftLintFramework/Rules/Lint/CommentSpacingRule.swift
Co-authored-by: JP Simard <jp@jpsim.com>
2020-11-09 21:54:14 -08:00
Noah Gilmore 1a104e4dc4 Add comments 2020-11-09 21:54:14 -08:00
Noah Gilmore dd5c0d3599 Add CommentSpacingRule (#3233) 2020-11-09 21:54:14 -08:00
JP Simard d9b5df2d72 Merge pull request #3254 from realm/ks/add-always_keep_imports-to-unusedimportrule
Add 'always_keep_imports' to UnusedImportRule
2020-11-09 17:43:20 -05:00
JP Simard 6c370caa77 Fix indentation 2020-11-09 12:06:45 -05:00
JP Simard 46ed5e2ece Add print statement for deprecation
To indicate that `statement_level` has been renamed to `function_level`.
2020-11-09 12:06:45 -05:00
JP Simard aa02a8aec0 Apply small refactorings 2020-11-09 12:06:44 -05:00
Skoti b9841595a5 Separated nesting level counting for types and functions in nesting rule (fixes #1151). Enhanced nesting rule to search for nested types and functions within closures and statements. Enhanced nesting rule to allow for one nested type within a function even if breaking a maximum type level nesting (fixes #1151). 2020-11-09 12:06:34 -05:00
Artem Garmash d1d42a9a35 Fix tests 2020-11-09 17:17:38 +03:00
Artem Garmash b679b8d75c Add check for return type Never 2020-11-09 12:18:42 +03:00
JP Simard 2950826bb1 Add helpful comment 2020-11-08 12:55:57 -05:00
JP Simard d91c2179bb release 0.41.0 2020-11-08 12:07:40 -05:00
Paul Taykalo ba58d571d8 Add option that allows skipping aligned constants (#3391) 2020-11-08 10:07:24 -05:00
Marcelo Fabri 0e29701aba Merge pull request #3410 from realm/mf-bugfix-3398
Fix false positive in `toggle_bool` rule
2020-11-08 05:23:57 -08:00
Marcelo Fabri 551cf2da3c Fix false positive in toggle_bool rule 2020-11-08 04:57:59 -08:00
Marcelo Fabri 7ccda8eb23 Validate closures outside of function calls in unused_closure_parameter
Fixes #1082
2020-11-08 04:47:35 -08:00
Marcelo Fabri c8596a647a Add prefer_nimble opt-in rule
Fixes #3293
2020-11-08 00:09:51 -08:00
Paul Taykalo 1b3e9945af Fix inconsistency in operator_usage_whitespace rule (#3388)
This Fixes case when the right part of the expression is an array or a string
Previously, strings and comments tokens were ignored.
In the current implementation, matching done first and then those are filtered if the operator is within the string token
2020-11-07 23:16:44 -05:00
Seth Friedman e316bd693d Fix finding the nested config when a single file path is passed (#3379)
This was previously attempted in #3342, but produced a bug in the case where `--config` is used to specify a config from outside of the source tree. The `--config` argument wasn't always being used as an override, and was being merged with the config in the source tree. This has now been addressed and reverts the revert done in #3362. 

Fixes #3341
2020-11-07 23:07:03 -05:00
Dalton Claybrook d305e03905 Add inclusive_language rule (#3243)
Current events have renewed the conversation in our community about the roles of terminology with racist connotations in our software. Many companies and developers are now taking appropriate steps to remove this terminology from their codebases and products. (e.g. [GitHub](https://twitter.com/natfriedman/status/1271253144442253312)) This small rule prevents the use of declarations that contain any of the terms: whitelist, blacklist, master, and slave. It may be appropriate to add more terms to this list now or in the future.
2020-11-07 22:03:08 -05:00
Zev Eisenberg 87bf6c6a6b Fix convenience type false positives (#3062) 2020-11-07 20:12:09 -05:00
JP Simard 390e9a2423 Remove UnneededNotificationCenterRemovalRule (#3407)
See https://github.com/realm/SwiftLint/issues/3338 for detailed
motivation.
2020-11-07 18:59:33 -05:00
Paul Taykalo 693ee2cae9 Add Isnot Empty extension in the Swift Framework (#3387) 2020-11-07 18:42:55 -05:00
Dalton Claybrook 580314d21e 'nslocalizedstring_key' now validates the comment argument in addition to the key argument (#3373) 2020-11-07 18:10:30 -05:00
JP Simard c8d8d913b9 Fix incorrect violation message for line length violations (#3406) 2020-11-07 18:01:04 -05:00
Quinn Taylor 865b59f0c8 Fix some missed cases in rule unavailable_function. (realm#3374) (#3375) 2020-11-07 17:36:26 -05:00
JP Simard 2dcce6b184 [AttributesRule] Fix parameterized attributes (#3405)
Some attributes are parameterized, such as `@objc(name)`. Previously
these reported `attributes` violations because their contents weren't
included in the configuration, which would just have `@objc`.
2020-11-07 16:57:57 -05:00
Zsolt Kovács ac2c5e4054 Allow opening brace on newline in case of multiline function (#3068) 2020-11-07 16:02:17 -05:00
JP Simard b005920cc5 Improve compilation times (#3404)
By speeding up a handful of the longest expressions to compile.
2020-11-07 12:16:25 -08:00
Mikhail Monakov fc0092dc8c Add excluding by prefix option (#3345)
As we discussed here https://github.com/realm/SwiftLint/pull/3325 sometimes current excluding algorithm maybe slower than excluding paths by absolute prefix. So I added option for such cases.

Based on what I've checked it works faster for next scenarios:
- the number of input files is relatively small (e.g. when using `use-script-input-files`) and excluded directories contain relatively big number of lintable files
- the number of excluded directories relatively small (e.g. Pods + ThirdParty) and globs not used
2020-11-07 10:54:06 -08:00
JP Simard d628c41665 [IdentifierNameRule] Allow "allowed symbols" as first character (#3403)
This means that if `allowed_symbols` contains `_`, you can now write
identifiers like `let _myLet`.

Fixes https://github.com/realm/SwiftLint/issues/3306
2020-11-07 09:54:04 -08:00
Keith Smiley 05344f5fed Fix DuplicateImportsRule's support for import attributes (#3402)
* Fix DuplicateImportsRule's support for import attributes

* update changelog

* Fix changelog
2020-11-05 10:45:01 -08:00
Keith Smiley 51084adf82 Remove @IBOutlet and @IBInspectable from UnusedDeclarationRule (#3184) 2020-11-05 08:21:54 -08:00
Sam e6df1d32e1 Use indentation_width severity configuration (#3397)
* Use the severity from the configuration

It was previously using a hardcoded value, that of the default configuration.

* Update CHANGELOG.md

* Correctly format CHANGELOG addition
2020-10-31 11:50:43 +02:00
Iulian Onofrei 1950abb3b7 Fix incomplete example (#3396) 2020-10-28 12:45:00 -07:00
hank121314 9afc3bbfd9 [Fix] UnusedCaptureListRule: unowned self in @escaping closures (#3392)
* [Fix] `UnusedCaptureListRule`: should also handle unowned self
* [Docs] `CHANGELOG.md`: update.
2020-10-24 21:10:18 +03:00
Paul Taykalo 662db7be39 Fix correct .zero autocorrection (#3386) 2020-10-19 14:27:47 -07:00
Keith Smiley 5d6e25ae5f Add TestCaseAccessibilityRule (#3376)
Co-authored-by: JP Simard <jp@jpsim.com>
2020-10-12 08:59:45 -07:00
Sven Münnich da408b5901 Fix some false positives in rule explicit_self (#3368) 2020-09-25 09:23:03 -07:00
JP Simard 15c25abc47 Update SourceKitten to 0.30.1 (#3367) 2020-09-23 08:34:46 -07:00
JP Simard 2731f994d8 Fix issues with analyzer rules, Xcode 12 & SwiftUI (#3366)
We weren't properly handling some new Xcode 12 compiler logs.

We also were marking declarations used by SwiftUI as unused
(`@main` and preview providers).
2020-09-23 07:15:54 -07:00