-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.swiftlint.yml
151 lines (140 loc) · 4.45 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
analyzer_rules:
- unused_declaration
- unused_import
- typesafe_array_init
opt_in_rules:
- array_init
- closure_end_indentation
- closure_spacing
- collection_alignment
- computed_accessors_order
- comment_spacing
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- contains_over_range_nil_comparison
- discouraged_object_literal
- discouraged_none_name
- duplicated_key_in_dictionary_literal
- empty_collection_literal
- empty_count
- empty_string
- empty_xctest_method
- enum_case_associated_values_count
- explicit_init
- extension_access_modifier
- fallthrough
- fatal_error_message
- file_header
- file_name
- first_where
- flatmap_over_map_reduce
- identical_operands
- joined_default_parameter
- last_where
- legacy_multiple
- legacy_random
- literal_expression_end_indentation
- lower_acl_than_parent
- modifier_order
- nimble_operator
#- nslocalizedstring_key
- number_separator
#- object_literal
- operator_usage_whitespace
- overridden_super_call
- override_in_extension
- pattern_matching_keywords
- prefer_self_type_over_type_of_self
#- private_action
#- private_outlet
#- prohibited_interface_builder
- prohibited_super_call
- quick_discouraged_call
- quick_discouraged_pending_test
- force_unwrapping
- reduce_into
- redundant_optional_initialization
- redundant_nil_coalescing
- redundant_type_annotation
- single_test_class
- sorted_first_last
- sorted_imports
- static_operator
#- strong_iboutlet
- test_case_accessibility
- toggle_bool
- unavailable_function
- unneeded_parentheses_in_closure_argument
- unowned_variable_capture
- untyped_error_in_catch
- vertical_parameter_alignment_on_call
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- weak_delegate
- xct_specific_matcher
- yoda_condition
disabled_rules:
- attributes
- blanket_disable_command
- inclusive_language
- nesting
- todo
type_name:
min_length: 2
max_length: 50
allowed_symbols: ["_"]
excluded:
- id
identifier_name:
min_length: 2
max_length: 50
allowed_symbols: ["_"]
excluded:
- id
line_length:
warning: 150
error: 151
ignores_urls: true
ignores_comments: true
ignores_interpolated_strings: true
ignores_function_declarations: true
custom_rules:
hardcoded_text:
included: ".*\\.swift"
#excluded: ".*Test\\.swift"
name: "Hardcoded Text"
regex: "\\.text = \"[a-zA-Z0-9\\s]+\""
message: "Hard-coded texts should be avoided"
severity: warning
unsafe_continuation:
included: ".*\\.swift"
name: "unsafe_continuation"
regex: "withUnsafe(Throwing)?Continuation"
message: "Please consider using the checked(Throwing)Continuation instead, otherwise add a comment for the reason you need/want to use an unsafe(Throwing)Continuation for documentation purposes."
severity: warning
use_of_system_background_color:
included: ".*\\.swift"
#excluded: ".*Test\\.swift"
name: "Use of UIColor.systemBackground"
regex: "\\.systemBackground"
message: "Use of UIColor.systemBackground should be avoided, as it leads to an undesired result when used in multitasking. Instead use BackgroundView or use custom appearance with view.backgroundColor = .background."
severity: warning
nimble_matching_format:
included: ".*\\.swift"
name: "Nimble Matching Format"
regex: "expect\\([a-zA-Z .]+[=!<>]= *.+\\)"
message: "Expectation expression in not allowed to contain comparison operators as parameters. Use expect(foo) == 3 not expect(foo == 3)."
severity: error
potential_retain_cycle_assign:
included: ".*\\.swift"
name: "Potential retain cycle by using \".assign(to:)\""
regex: "\\.assign\\(to: [^,]+, on: [^)]+\\)"
message: "Using the .assign(to:)-function often results in retain cycles. Check whether the .weakAssign(to:)-function can be used instead. If not deactivate the rule for the affected code."
severity: warning
potential_retain_cycle_map:
included: ".*\\.swift"
name: "Potential retain cycle by using \".map {\" without\"[weak self]\""
regex: "\\.map\\s*\\{(?![^\\}]*\\[weak self\\])[^\\}]*self\\.[^\\}]*\\}"
message: "Using the \".map {\" closure without \"[weak self]\" but using strong self inside often results in retain cycles. Check whether its possible to use \"[weak self]\" - if not deactivate the rule for the affected code."
severity: warning