Commit Graph

159 Commits

Author SHA1 Message Date
JP Simard 53d8a3aba9 Add UnusedPrivateDeclarationRule (#2385)
* Add UnusedPrivateDeclarationRule

* Temporarily disable UnusedPrivateDeclarationRule tests on Xcode 10

So we can merge UnusedPrivateDeclarationRule without having to wait
for CircleCI to update its Xcode 10 version.
2018-09-05 21:59:45 -07:00
JP Simard e460c5ef9c Add Unused Import analyzer rule (#2381) 2018-09-02 14:45:02 -07:00
JP Simard 2bcea4b04d Add ability for SwiftLint to lint files with full type-checked AST awareness (#2379)
* Add LintableFilesVisitor

* Move LintCommand logic into LintOrAnalyzeCommand

to prepare for the upcoming analyze command

* Add AnalyzeCommand (not fully implemented yet in SwiftLintFramework)

* Add analyzerRules configuration member

* Add AnalyzerRule protocol

* Pass compiler arguments to validate/correct

* Add requiresFileOnDisk member to RuleDescription

This will be used by AnalyzerRules because they need a file on disk
to pass in the compiler arguments to SourceKit.

* Exclusively run AnalyzerRules when the Linter has compiler arguments

* Enable testing AnalyzerRules in TestHelpers

* Add ExplicitSelfRule

* Update documentation

* Fix `analyze --autocorrect`

* Improve performance of CompilerArgumentsExtractor

* Fix lint command actually running analyze

* Move File operations in TestHelpers into a private extension

* Add analyzer column to rules command and markdown documentation

* Use a Set literal

* Make AnalyzerRule inherit from OptInRule

* Mention analyzer_rules in readme

* Mention that analyzer rules are slow
2018-09-02 00:13:27 -07:00
Dalton Claybrook 4ea785c993 Add ToggleBoolRule 2018-08-30 10:22:21 -04:00
Marcelo Fabri 53647b4e6e Add inert_defer rule
Fixes #2123
2018-08-26 03:10:16 -07:00
Marcelo Fabri 04b634cde7 Add prohibited_interface_builder opt-in rule
Fixes #2365
2018-08-25 22:53:15 -07:00
Yusuke Ohashi a941b2f242 added SonarQube reporter. 2018-08-16 15:02:47 +09:00
Marcelo Fabri 5c9b6b9c62 Merge pull request #2342 from ornithocoder/closure_length
Adds closure_body_length opt-in rule
2018-08-09 07:55:49 -07:00
Marcelo Fabri 14f677e6bb Fix false positive on file_name rule when using nested types
Fixes #2325
2018-08-08 09:38:20 -07:00
Ornithologist Coder c4bf3dee10 Adds closure_body_length opt-in rule
because closure bodies should not span too many lines. Implements #52.
Requires Swift 4.2.
2018-08-07 00:13:50 +02:00
Marcelo Fabri 88f4c8be6f Minor changes after merging #2318 2018-07-30 00:12:02 -07:00
Marcelo Fabri f7f3f3dee5 Merge pull request #2318 from mattremmel/nef10_missing_docs
Added back 'missing_docs' (Nef10)
2018-07-30 00:05:05 -07:00
Marcelo Fabri 87c44108b9 Add missing tests to LinuxMain 2018-07-29 22:59:24 -07:00
Marcelo Fabri 6ea0a5c4a1 Merge pull request #2316 from realm/ks/exclude-glob
Add support for globs in excluded paths
2018-07-29 22:46:00 -07:00
Marcelo Fabri 0820cd2976 Merge pull request #2313 from Dschee/explicit-type-interface
Add option allow_redundancy to rule explicit_type_interface
2018-07-29 22:45:17 -07:00
Marcelo Fabri 744403cedb Merge pull request #2281 from maciesielka/feature/allow-first-closure-multiline-args
add "allow_first_closure_on_same_line" configuration to "multiline_arguments"
2018-07-29 22:41:12 -07:00
Michael Ciesielka 7efce91996 Rename “allow_first_closure_on_same_line” configuration for “multiline_arguments” rule to “only_enforce_after_first_closure_on_first_line” to increase clarity. 2018-07-28 15:28:34 -04:00
Cihat Gündüz b4f960bd48 Add config option allow_redundancy 2018-07-27 11:12:46 +02:00
Keith Smiley b21307530c Move glob to its own struct 2018-07-26 10:21:13 -07:00
Keith Smiley 63edaa9081 Move alias tests to new file 2018-07-26 10:21:13 -07:00
Keith Smiley a807d723e4 Add support for globs in excluded paths 2018-07-26 10:21:13 -07:00
Matthew Remmel 7668b90b7f Regenerated LinuxMain.swift using sourcery 2018-07-25 14:17:41 -04:00
Matthew Remmel b990eb94f8 Fixed incorrect conflict merge 2018-07-25 13:38:55 -04:00
Matthew Remmel 89adc4224c Patch created from Nef10 (https://github.com/Nef10/SwiftLint.git) missing_docs branch, to remove merge commits that were preventing merging the PR (https://github.com/realm/SwiftLint/pull/2172) 2018-07-25 11:34:53 -04:00
Keith Smiley 6eedf5d73c Add private_only to prefixed_toplevel_constant (#2315)
* Add private_only to prefixed_toplevel_constant

This allows users to opt in to only validate top level constants have
the given prefix if the constant is private or fileprivate.
2018-07-24 12:38:01 -07:00
Cihat Gündüz dc44fbcac3 Add tests for if_only configuration option 2018-07-24 13:02:30 +02:00
Marcelo Fabri 37fe0f82d8 Add tests for RedundantTypeAnnotationRule 2018-07-21 17:39:29 -07:00
Marcelo Fabri 8aadb802fb Split RulesTests into several test cases, generating them automatically 2018-07-21 17:23:08 -07:00
Marcelo Fabri 41d3977412 Add test to LinuxMain 2018-07-19 08:34:03 -07:00
Marcelo Fabri 84abd41a1a Merge pull request #2285 from ornithocoder/anyobject
Add opt-in anyobject_protocol rule
2018-07-19 08:19:42 -07:00
Marcelo Fabri af588ee4be Add test to LinuxMain 2018-07-19 08:17:12 -07:00
Ornithologist Coder 01dc00f576 Add default rule anyobject_protocol
This commit implements #2283.
2018-07-07 18:54:09 +02:00
Mike Ciesielka 81ee9904b3 Add "allow_first_closure_on_same_line" configuration to "multiline_arguments" rule as proposed in #1896. add tests. 2018-07-05 11:44:16 -07:00
Marcelo Fabri 6595a8e82f Add missing tests to LinuxMain 2018-06-24 00:35:11 -07:00
Austin Belknap 1fdc5fda94 Add "No Fallthrough Only" Rule. 2018-06-11 09:30:19 -07:00
Eric Horacek 0a4b078e66 Add linux tests 2018-06-10 19:49:03 -07:00
JP Simard 84bfdca774 Enable File Name rule for SwiftLint & fix violations 2018-05-11 22:17:40 -07:00
JP Simard 24ec44d288 Add file_name opt-in rule
validating that file names contain the name of a
type or extension declared in the file (if any).
2018-05-11 22:17:39 -07:00
JP Simard 62a3b707fa Merge pull request #2185 from marcelofabri/default-params-end
Add function_default_parameter_at_end rule
2018-05-11 20:42:08 -07:00
Marcelo Fabri 588bed83e6 Add function_default_parameter_at_end rule 2018-05-11 09:18:30 -07:00
Varun P M 794160a8d2 Added ignores_default_parameters when calculating parameter count 2018-05-10 17:40:30 +05:30
freak4pc 3738512511 Added indented triggering cases 2018-05-06 23:34:14 +03:00
freak4pc 62d0dd14ca Remove headers 2018-05-06 23:34:14 +03:00
freak4pc 8e0202cfc8 Added violation marker and fixed tests 2018-05-06 23:34:14 +03:00
JP Simard 22a6187553 Merge branch 'master' into attibute_and_modifier_order
* master:
  Remove all file headers
  Make fallthrough rule opt-in
  Update the swift file and run the unit tests
  Fix a typo
2018-05-05 15:25:43 -07:00
JP Simard b83e0991b9 Remove all file headers
The MIT license doesn't require that all files be prepended with this
licensing or copyright information. Realm confirmed that they're ok with this
change. This will enable some companies to contribute to SwiftLint and the
date & authorship information will remain accessible via git source control.
2018-05-04 13:42:02 -07:00
Daniel Metzing 61259692ed Removing s from rule name 2018-04-27 08:59:02 +02:00
Daniel Metzing 9a7005912a Add modifiers_order rule 2018-04-26 20:25:58 +02:00
Daniel Metzing b2bb9d6c89 Merge remote-tracking branch 'upstream/master' into upstream_master 2018-04-26 15:10:14 +02:00
Daniel Metzing 5283598794 Merge remote-tracking branch 'upstream/master' into upstream_master 2018-04-25 12:43:06 +02:00