* Added violations when trying to disable non valid rule
* Added violations when trying to disable non valid rule
* Add changelog enty for 'superfluous_disable_command' improvement
* Uses all rule identifiers when running nonValidSuperfluousCommandViolations
* Address feedback from jpsim
* Uses all rule identifiers when running nonValidSuperfluousCommandViolations
* Address more feedback from jpsim
* Added customRuleIdentifiers when verifying undefinedSuperfluousCommandViolations
* Catch all invalid disable commands in a region
Not just the first one.
* Rename test
* #2441 - Pass custom rules identifiers to the enableRules function to consider custom rules of a parent of a nested configuration
* #2441 - Add custom rules merge
* #2441 - Fix line length violation
* #2441 - Add nested configutaion mocks with custom rules
* #2441 - Add nested configurations tests for custom rules
* #2441 - Disable function body length check
* #2441 - Update changelog
* Move changelog to appropriate position
* Split up and refactor Configuration.init to avoid being too long
* Add tests to LinuxMain.swift
* Remove redundant protocol conformances
Hashable implies Equatable
* Fix typo in changelog entry and add another fixed issue URL
* Add VerticalWhitespaceOpening/ClosingBraces rules with description
* Implement validate, correct & add rules to lists
* Fix minor issues & update docs
* Fix copy & paste issue
* Improve autocorrection + Cleanup triggering examples
* Update changelog with new rule entries
* Add more validation examples
* [CHANGELOG.md] Mark new rules as opt-in
* Point to exact location of violation + update tests
* Make rules severity configurable
* Fix issues after rebasing
* Fix issue with CHANGELOG.md
* Add more violating examples, improve pattern to catch more cases
* Move changelog entries to new version
* Fix issues after rebase
* Move Changelog entry to current master
* Fix failing tests
* Fixes after refactoring
* Fix changelog entry position
* Make range unicode-safe (as suggested by @jpsim)
* Share duplicate Dictionary extension code
* Add new multiline_literal_brackets rule with examples
* Implement rule
* Add changelog entry
* Fix CHANGELOG and rule name
* Fix tests + Update stuff after rebasing
* Add more examples & fix whitespace issue
* Address feedback from @ornithocoder
* Add multiline rules for arguments and parameters
* Fix false positives in rule multiline_parameters_brackets
* Fix false positive for trailing closures in multiline_arguments_brackets
* Add nested examples to rule multiline_arguments_brackets
* Fix more false positives in multiline_arguments_brackets rule
* Use guard where appropriate instead of if
* Update generated artifacts after rebase
* Add CHANGELOG entry for all three new rules
* Move changelog entries to new version
* Fix changelog entries position
* Move new rules to correct subfolder
* Update Rules.md file contents
* Fixup changelog
* Refactor rules
This can be used for avoid "Test::Unit::AssertionFailedError" error in `libxpc.dylib` on calling `sourcekitd_send_request_sync` in sandbox environment.
This bumps the minimum version required to build SwiftLint to 4.2. The primary motivating factor to drop support for Swift 4.0-4.1.x is that SwiftLint now uses CryptoSwift, which requires 4.2.
* Add changelog entry
* Remove --allow-warnings flag from CocoaPods commands
* Update CryptoSwift to 0.13.0
* Migrate to Swift 4.2
* Remove CircleCI tests for Swift < 4.2
* Update English and Chinese README
Korean README doesn't yet have a version table like this.
* Update gems
* Add changelog entry for fixed compiler warnings
* Update CocoaPods to 1.6.0.beta.2
To work around https://github.com/CocoaPods/CocoaPods/issues/7708
* 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.
* 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