Created
July 11, 2023 15:44
-
-
Save Mcrich23/d5d9f9c0859e143c292a90f1b6a293f1 to your computer and use it in GitHub Desktop.
A sample swiftlint config that I use along with https://github.com/SFSafeSymbols/SFSafeSymbols
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# By default, SwiftLint uses a set of sensible default rules you can adjust: | |
disabled_rules: # rule identifiers turned on by default to exclude from running | |
- colon | |
- comma | |
- control_statement | |
- type_name | |
- trailing_whitespace | |
- identifier_name | |
- statement_position | |
- force_try | |
- force_cast | |
- multiple_closures_with_trailing_closure | |
opt_in_rules: # some rules are turned off by default, so you need to opt-in | |
- empty_count # Find all the available rules by running: `swiftlint rules` | |
# Alternatively, specify all rules explicitly by uncommenting this option: | |
# only_rules: # delete `disabled_rules` & `opt_in_rules` if using this | |
# - empty_parameters | |
# - vertical_whitespace | |
included: # paths to include during linting. `--path` is ignored if present. | |
excluded: # paths to ignore during linting. Takes precedence over `included`. | |
- Carthage | |
- Pods | |
- Source/ExcludedFolder | |
- Source/ExcludedFile.swift | |
- Source/*/ExcludedFile.swift # Exclude files with a wildcard | |
analyzer_rules: # Rules run by `swiftlint analyze` (experimental) | |
- explicit_self | |
# configurable rules can be customized from this configuration file | |
# binary rules can set their severity level | |
# rules that have both warning and error levels, can set just the warning level | |
# implicitly | |
function_parameter_count: 6 | |
line_length: 375 | |
function_body_length: 100 | |
cyclomatic_complexity: 25 | |
# they can set both implicitly with an array | |
type_body_length: | |
- 500 # warning | |
- 600 # error | |
# or they can set both explicitly | |
file_length: | |
warning: 600 | |
error: 1200 | |
# naming rules can set warnings/errors for min_length and max_length | |
# additionally they can set excluded names | |
reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, codeclimate, junit, html, emoji, sonarqube, markdown, github-actions-logging) | |
# Custom Rules | |
custom_rules: | |
sf_safe_symbol: | |
name: "Safe SFSymbol" | |
message: "Use `SFSafeSymbols` via `systemSymbol` parameters for type safety." | |
regex: "(Image\\(systemName:)|(NSImage\\(symbolName:)|(Label[^,]+?,\\s*systemImage:)|(UIApplicationShortcutIcon\\(systemImageName:)" | |
severity: warning |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment