-
Notifications
You must be signed in to change notification settings - Fork 0
/
.swiftlint.yml
410 lines (407 loc) · 10.4 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
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
excluded:
- osub/*/Fixtures
only_rules:
- anonymous_argument_in_multiline_closure
- array_init
- closing_brace
- closure_end_indentation
- closure_parameter_position
- closure_spacing
- collection_alignment
- colon
- comma
- comma_inheritance
- comment_spacing
- compiler_protocol_init
- computed_accessors_order
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- contains_over_range_nil_comparison
- control_statement
- convenience_type
- custom_rules
- cyclomatic_complexity
- discouraged_assert
- discouraged_none_name
- discouraged_optional_collection
- duplicate_enum_cases
- duplicate_imports
- duplicated_key_in_dictionary_literal
- dynamic_inline
- empty_collection_literal
- empty_count
- empty_enum_arguments
- empty_parameters
- empty_parentheses_with_trailing_closure
- empty_string
- empty_xctest_method
- enum_case_associated_values_count
- fallthrough
- fatal_error_message
- file_name_no_space
- first_where
- flatmap_over_map_reduce
- for_where
- force_cast
- force_try
- force_unwrapping
- function_parameter_count
- generic_type_name
- identical_operands
- identifier_name
- implicit_getter
- implicit_return
- implicitly_unwrapped_optional
- inclusive_language
- indentation_width
- is_disjoint
- joined_default_parameter
- large_tuple
- last_where
- leading_whitespace
- legacy_cggeometry_functions
- legacy_constant
- legacy_constructor
- legacy_hashing
- legacy_multiple
- legacy_nsgeometry_functions
- legacy_objc_type
- legacy_random
- line_length
- literal_expression_end_indentation
- local_doc_comment
- lower_acl_than_parent
- mark
- modifier_order
- multiline_arguments
- multiline_arguments_brackets
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- multiline_parameters_brackets
- multiple_closures_with_trailing_closure
- nesting
- no_extension_access_modifier
- no_space_in_method_call
- ns_number_init_as_function_reference
- nslocalizedstring_key
- nsobject_prefer_isequal
- operator_usage_whitespace
- operator_whitespace
- optional_enum_case_matching
- orphaned_doc_comment
- overridden_super_call
- prefer_self_type_over_type_of_self
- prefer_zero_over_explicit_init
- private_over_fileprivate
- private_subject
- private_unit_test
- protocol_property_accessors_order
- reduce_boolean
- reduce_into
- redundant_discardable_let
- redundant_nil_coalescing
- redundant_objc_attribute
- redundant_optional_initialization
- redundant_set_access_control
- redundant_string_enum_value
- redundant_type_annotation
- redundant_void_return
- required_enum_case
- return_arrow_whitespace
- return_value_from_void_function
- self_in_property_initialization
- shorthand_operator
- shorthand_optional_binding
- sorted_first_last
- sorted_imports
- statement_position
- static_operator
- strict_fileprivate
- superfluous_disable_command
- switch_case_alignment
- switch_case_on_newline
- syntactic_sugar
- todo
- toggle_bool
- trailing_closure
- trailing_comma
- trailing_newline
- trailing_semicolon
- trailing_whitespace
- unavailable_condition
- unavailable_function
- unneeded_break_in_switch
- unneeded_parentheses_in_closure_argument
- unowned_variable_capture
- untyped_error_in_catch
- unused_closure_parameter
- unused_control_flow_label
- unused_enumerated
- unused_import
- unused_optional_binding
- unused_setter_value
- vertical_parameter_alignment
- vertical_parameter_alignment_on_call
- vertical_whitespace
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- void_function_in_ternary
- void_return
- xct_specific_matcher
- yoda_condition
anonymous_argument_in_multiline_closure: warning
array_init: warning
closing_brace: warning
closure_end_indentation: warning
closure_parameter_position: warning
closure_spacing: warning
collection_alignment:
severity: warning
align_colons: true
colon:
severity: warning
flexible_right_spacing: false
apply_to_dictionaries: true
comma: warning
comma_inheritance: warning
comment_spacing: warning
compiler_protocol_init: warning
computed_accessors_order:
severity: warning
order: get_set
contains_over_filter_count: warning
contains_over_filter_is_empty: warning
contains_over_first_not_nil: warning
contains_over_range_nil_comparison: warning
control_statement: warning
convenience_type: warning
cyclomatic_complexity:
warning: 10
ignores_case_statements: false
discouraged_assert: warning
discouraged_none_name: warning
discouraged_optional_collection: warning
duplicate_enum_cases: warning
duplicate_imports: warning
duplicated_key_in_dictionary_literal: warning
dynamic_inline: warning
empty_collection_literal: warning
empty_count:
severity: warning
only_after_dot: false
empty_enum_arguments: warning
empty_parameters: warning
empty_parentheses_with_trailing_closure: warning
empty_string: warning
empty_xctest_method:
severity: warning
test_parent_classes:
- "QuickSpec"
- "XCTestCase"
enum_case_associated_values_count:
warning: 3
fallthrough: warning
fatal_error_message: warning
file_name_no_space:
severity: warning
excluded: []
first_where: warning
flatmap_over_map_reduce: warning
for_where:
severity: warning
allow_for_as_filter: false
force_cast: warning
force_try: warning
force_unwrapping: warning
function_parameter_count:
warning: 3
ignores_default_parameters: true
generic_type_name:
min_length: 1
validates_start_with_lowercase: true
identical_operands: warning
identifier_name:
min_length: 2
validates_start_with_lowercase: true
implicit_getter: warning
implicit_return:
severity: warning
included:
- closure
- function
- getter
implicitly_unwrapped_optional:
severity: warning
model: allExceptIBOutlets
indentation_width:
severity: warning
indentation_width: 2
include_comments: true
is_disjoint: warning
joined_default_parameter: warning
large_tuple:
warning: 3
last_where: warning
leading_whitespace: warning
legacy_cggeometry_functions: warning
legacy_constant: warning
legacy_constructor: warning
legacy_hashing: warning
legacy_multiple: warning
legacy_nsgeometry_functions: warning
legacy_objc_type: warning
legacy_random: warning
line_length:
warning: 100
ignores_urls: true
ignores_function_declarations: false
ignores_comments: false
ignores_interpolated_strings: true
literal_expression_end_indentation: warning
local_doc_comment: warning
lower_acl_than_parent: warning
mark: warning
modifier_order:
severity: warning
preferred_modifier_order:
- override
- acl
- setterACL
- dynamic
- mutators
- lazy
- final
- required
- convenience
- typeMethods
- owned
multiline_arguments:
severity: warning
first_argument_location: next_line
only_enforce_after_first_closure_on_first_line: true
multiline_arguments_brackets: warning
multiline_function_chains: warning
multiline_literal_brackets: warning
multiline_parameters:
severity: warning
allowsSingleLine: true
multiline_parameters_brackets: warning
multiple_closures_with_trailing_closure: warning
nesting:
type_level: 1
function_level: 1
check_nesting_in_closures_and_statements: true
always_allow_one_type_in_functions: true
no_extension_access_modifier: warning
no_space_in_method_call: warning
ns_number_init_as_function_reference: warning
nslocalizedstring_key: warning
nsobject_prefer_isequal: warning
operator_usage_whitespace:
severity: warning
lines_look_around: 2
skip_aligned_constants: true
allowed_no_space_operators:
- "..."
- "..<"
operator_whitespace: warning
optional_enum_case_matching: warning
orphaned_doc_comment: warning
overridden_super_call:
severity: warning
excluded: []
included: ["*"]
prefer_self_type_over_type_of_self: warning
prefer_zero_over_explicit_init: warning
private_over_fileprivate:
severity: warning
validate_extensions: true
private_subject: warning
private_unit_test:
warning: XCTestCase
protocol_property_accessors_order: warning
reduce_boolean: warning
reduce_into: warning
redundant_discardable_let: warning
redundant_nil_coalescing: warning
redundant_objc_attribute: warning
redundant_optional_initialization: warning
redundant_set_access_control: warning
redundant_string_enum_value: warning
redundant_type_annotation: warning
redundant_void_return: warning
return_arrow_whitespace: warning
return_value_from_void_function: warning
self_in_property_initialization: warning
shorthand_operator: warning
shorthand_optional_binding: warning
sorted_first_last: warning
sorted_imports: warning
statement_position:
severity: warning
statement_mode: default
static_operator: warning
strict_fileprivate: warning
superfluous_disable_command: warning
switch_case_alignment:
severity: warning
indented_cases: false
switch_case_on_newline: warning
syntactic_sugar: warning
todo: warning
toggle_bool: warning
trailing_closure:
severity: warning
only_single_muted_parameter: false
trailing_comma:
severity: warning
mandatory_comma: false
trailing_newline: warning
trailing_semicolon: warning
trailing_whitespace:
severity: warning
ignores_empty_lines: false
ignores_comments: true
unavailable_condition: warning
unavailable_function: warning
unneeded_break_in_switch: warning
unneeded_parentheses_in_closure_argument: warning
unowned_variable_capture: warning
untyped_error_in_catch: warning
unused_closure_parameter: warning
unused_control_flow_label: warning
unused_enumerated: warning
unused_import:
severity: warning
require_explicit_imports: false
allowed_transitive_imports: []
always_keep_imports: []
unused_optional_binding:
severity: warning
ignore_optional_try: false
unused_setter_value: warning
vertical_parameter_alignment: warning
vertical_parameter_alignment_on_call: warning
vertical_whitespace:
severity: warning
max_empty_lines: 1
vertical_whitespace_closing_braces:
severity: warning
only_enforce_before_trivial_lines: false
vertical_whitespace_opening_braces: warning
void_function_in_ternary: warning
void_return: warning
yoda_condition: warning
custom_rules:
explicit_array:
regex: '(let|var)[\S\s]*=\s*?(\[[^:]\S[^:]*]\(\))'
capture_group: 2
message: "Use explicit type annotation when initializing empty array"
severity: warning
explicit_dictionary:
regex: '(let|var)[\S\s]*=\s*?(\[\S*:\S*]\(\))'
capture_group: 2
message: "Use explicit type annotation when initializing empty dictionary"
severity: warning