-
Notifications
You must be signed in to change notification settings - Fork 27
/
.swiftlint.yml
339 lines (261 loc) · 6.39 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
excluded:
# Cocoapods
- 'Tests/Pods'
- 'Demos/UiTestsDemo/Pods'
- 'Frameworks/BuiltinIpc/OsxDemo/Pods'
# Build
- 'Frameworks/BuiltinIpc/OsxDemo/build'
- 'ci/swift/.build'
- '.build'
disabled_rules:
- line_length # "ignores_interpolated_strings" doesn't work for multiline literals.
- opening_brace # I don't like it
- trailing_whitespace # TODO: Enable
- colon # I don't like how it works with multiple inheritance/conformance
- void_return # I like `()`
- unneeded_parentheses_in_closure_argument # Has bug with { () -> () in ... }, but sometimes I want to help Swift complile faster.
- redundant_nil_coalescing # I want to convert double optionals to single optionals with `x ?? nil`. TODO: Maybe to add a function.
- identifier_name # i don't like those limits. TODO: Enable partially, configure
- type_name # same as with identifier_name
- todo # i fix todos sometimes
- operator_whitespace # i don't like this rule
- function_parameter_count # i like such functions in tests...
- legacy_hashing # TODO: Do we support Swift < 4.2?
- no_space_in_method_call # Bugged since 2022.08.09 (about 1000 false positives)
# Remove after updating SwiftLint and Xcode and fixing every warning
- implicit_getter # this rule is triggering only in Xcode 11.4.1 and not in Xcode 11.3.1 and only in old SwiftLint. New swiftlint rules are for Xcode 11.4.1, which is not fully supported
# Requre code refactoring
- inclusive_language
- legacy_random
- for_where
- computed_accessors_order
- implicit_return
opt_in_rules:
- array_init
- block_based_kvo
- contains_over_first_not_nil
- class_delegate_protocol
- closing_brace
- closure_end_indentation
- closure_spacing
- comma
- compiler_protocol_init
- control_statement
- discarded_notification_center_observer
- discouraged_object_literal
- discouraged_direct_init
- duplicate_imports
- empty_count
- empty_enum_arguments
- empty_parameters
- empty_parentheses_with_trailing_closure
- empty_string
- empty_xctest_method
- explicit_init
- first_where
- force_cast
- force_try
- force_unwrapping
- generic_type_name
- fatal_error_message
- implicit_getter
- implicit_return
- implicitly_unwrapped_optional
- last_where
- leading_whitespace
- legacy_cggeometry_functions
- legacy_constant
- legacy_constructor
- line_length
- lower_acl_than_parent
- mark
- modifier_order
- multiline_arguments
- multiline_parameters
- multiple_closures_with_trailing_closure
- nslocalizedstring_key
- operator_usage_whitespace
- overridden_super_call
- pattern_matching_keywords
- private_outlet
- prohibited_super_call
- protocol_property_accessors_order
- redundant_discardable_let
- redundant_nil_coalescing
- redundant_optional_initialization
- redundant_set_access_control
- redundant_void_return
- return_arrow_whitespace
- statement_position
- switch_case_alignment
- switch_case_on_newline
- syntactic_sugar
- trailing_newline
- trailing_semicolon
- unneeded_break_in_switch
- unneeded_parentheses_in_closure_argument
- unused_closure_parameter
- unused_enumerated
- unused_optional_binding
- vertical_parameter_alignment
- vertical_parameter_alignment_on_call
- vertical_whitespace
- weak_delegate
# Rule configurations
array_init:
severity: error
block_based_kvo:
severity: error
contains_over_first_not_nil:
severity: error
class_delegate_protocol:
severity: error
closing_brace:
severity: error
closure_end_indentation:
severity: error
closure_spacing:
severity: error
comma:
severity: error
compiler_protocol_init:
severity: error
discouraged_direct_init:
severity: error
discouraged_object_literal:
severity: error
control_statement:
severity: error
discarded_notification_center_observer:
severity: error
duplicate_imports:
severity: error
empty_count:
severity: error
empty_enum_arguments:
severity: error
empty_parameters:
severity: error
empty_parentheses_with_trailing_closure:
severity: error
empty_string:
severity: error
empty_xctest_method:
severity: error
first_where:
severity: error
explicit_init:
severity: error
force_cast:
severity: error
force_try:
severity: error
force_unwrapping:
severity: error
generic_type_name:
min_length:
warning: 1
error: 0
max_length:
warning: 50
error: 70
fatal_error_message:
severity: error
implicit_getter:
severity: error
implicit_return:
severity: error
implicitly_unwrapped_optional:
severity: error
last_where:
severity: error
leading_whitespace:
severity: error
legacy_cggeometry_functions:
severity: error
legacy_constant:
severity: error
legacy_constructor:
severity: error
line_length:
warning: 220
error: 230
ignores_comments: true
ignores_urls: true
ignores_interpolated_strings: true
ignores_function_declarations: false
lower_acl_than_parent:
severity: error
mark:
severity: error
modifier_order:
severity: error
multiline_arguments:
severity: error
multiline_parameters:
severity: error
multiple_closures_with_trailing_closure:
severity: error
nesting:
type_level:
warning: 2
error: 2
statement_level:
warning: 5
error: 5
nslocalizedstring_key:
severity: error
operator_usage_whitespace:
severity: error
overridden_super_call:
severity: error
pattern_matching_keywords:
severity: error
private_outlet:
severity: error
prohibited_super_call:
severity: error
protocol_property_accessors_order:
severity: error
redundant_discardable_let:
severity: error
redundant_nil_coalescing:
severity: error
redundant_optional_initialization:
severity: error
redundant_set_access_control:
severity: error
redundant_void_return:
severity: error
return_arrow_whitespace:
severity: error
statement_position:
severity: error
switch_case_alignment:
severity: error
switch_case_on_newline:
severity: error
syntactic_sugar:
severity: error
trailing_newline:
severity: error
trailing_semicolon:
severity: error
unneeded_break_in_switch:
severity: error
unneeded_parentheses_in_closure_argument:
severity: error
unused_closure_parameter:
severity: error
unused_enumerated:
severity: error
unused_optional_binding:
severity: error
vertical_parameter_alignment:
severity: error
vertical_parameter_alignment_on_call:
severity: error
vertical_whitespace:
severity: error
weak_delegate:
severity: error