This repository was archived by the owner on Oct 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy path.swiftlint.yml
109 lines (109 loc) · 3.18 KB
/
.swiftlint.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
reporter: xcode
opt_in_rules:
- force_unwrapping
- empty_count
- vertical_whitespace
excluded:
- Carthage
- Pods
- vendor
- fastlane
private_outlet:
allow_private_set: true
force_unwrapping: error
line_length: 150
identifier_name:
min_length: 2
custom_rules:
disable:
name: "Disable Rule In Code"
regex: "(swiftlint:disable)"
message: "Please do not disable rule in code. "
severity: error
match_kinds: comment
delegate:
name: "delegate"
regex: '(\s{2,}var\s+delegate)'
message: "Please use `weak` for `delegate`. "
severity: error
comments_space:
name: "Space After Comment"
regex: '(^ *//\w+)'
message: "There should be a space after //"
severity: warning
match_kinds: comment
multiple_empty_lines:
name: "Multiple Empty Lines"
regex: '((?: *\n){3,})'
message: "There are too many line breaks"
severity: warning
empty_line:
name: "Empty Line"
regex: '(\}\n +( |class|static|dynamic|@objc|@IBAction|override|private|public|internal){0,}func)'
message: "Must have an empty line between functions. "
severity: warning
extension_mark:
name: "Extension Mark"
regex: '(\}\n\nextension)'
message: "Must have `// MARK:` before extension. "
severity: warning
switch_enum:
name: "Switch Enum"
regex: '(case\s\w+\.+rawValue:)'
message: "Don't use enum.rawValue in switch-case. Please convert value to enum first. "
severity: error
compile_lookup:
name: "Compile Lookup"
regex: '((var|let)\s+\w+\s*=\s*\[)'
message: "You need to give types to the array and dictionary. "
severity: error
weak_self_usage:
name: "Weak Self Usage"
regex: '(self\?\.)'
message: "Explicitly extending lifetime is preferred to optional binding. Ex: `guard let this = self else { return }`. "
severity: error
weak_self_binding:
name: "Weak Self Binding"
regex: '(let\s+(?!this)\w+\s*=\s*self[,\s])'
message: "Please use `let this = self` instead. "
severity: error
unowned:
name: "Unowned"
regex: "(unowned)"
message: "Please use `weak` instead. "
severity: error
empty_string:
name: "Empty String"
regex: '((!\w+.isNotEmpty)|(length == 0))'
message: "Please use `isEmpty` instead. "
severity: error
not_empty_string:
name: "Not Empty String"
regex: '((!\w+.isEmpty)|(length (!=|>) 0))'
message: "Please use `isNotEmpty` instead. "
severity: error
bracket:
name: "Bracket"
regex: '(\}\n{2,}\}|\{\n{2,}\{)'
message: "No empty line between two open or close brackets. "
severity: warning
query_string:
name: "Query String"
regex: '( [=!><]+ \\\(.*\))'
message: "Do not use the string interpolation syntax for query string. "
severity: warning
append_array:
name: "Append array"
regex: '(\+ \[.*\].*)'
message: "Do not use + for array, should use `append` instead"
severity: warning
optional_checking:
name: "Optional checking"
regex: '(\?\?.+)'
message: "You should use `if let` or `guard let` or `if else` instead"
severity: warning
conditional:
name: "Condition statement"
regex: '( \? .+ : )'
message: "Should use if else instead"
severity: warning