* Require Swift 5.0 to build
* Update CI
* Stop testing with Swift 4.x & Xcode 10.0/10.1
* Use official Swift docker image instead of norionomura's
* Use Xcode 10.3 as latest stable version
* Update READMEs
* Fixup xcodeproj
* Fixup CI Swift container image tag
* Fixup changelog
This PR adds a new `unused_declaration` analyzer rule to lint for unused declarations.
By default, detects unused `fileprivate`, `private` and `internal` declarations.
Configure the rule with `include_public_and_open: true` to also detect unused `public` and `open` declarations.
Completely remove the `unused_private_declaration` rule.
This is built on the work enabling collecting rule infrastructure in https://github.com/realm/SwiftLint/pull/2714.
* Add nestedTypeSeparator to FileNameConfiguration
* Add tests for nested_type_separator configurability of file_name rule
* Add changelog entry
* Fix changelog position after rebase
* #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 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.
Add support of inserting a SWIFTLINT_CURRENT_FILENAME placeholder in the required_pattern.
The placeholder will be replaced by the lastPathComponent of the file's path.