-
Notifications
You must be signed in to change notification settings - Fork 0
/
.swiftlint.yml
184 lines (163 loc) · 4.13 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
excluded:
- .tuist-bin
- Tuist
- Derived
- Project.swift
disabled_rules:
- discarded_notification_center_observer
- notification_center_detachment
- vertical_whitespace_opening_braces
- opening_brace
analyzer_rules:
- capture_variable
- unused_declaration
- unused_import
# rules that are commented out are explicitly opted out unless told otherwise
opt_in_rules:
- accessibility_label_for_image
- accessibility_trait_for_button
#- anonymous_argument_in_multiline_closure
- array_init
- attributes
- balanced_xctest_lifecycle
- closure_end_indentation
- closure_spacing
- collection_alignment
- comma_inheritance
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- contains_over_range_nil_comparison
- convenience_type
#- direct_return
- discouraged_assert
- discouraged_none_name
- discouraged_object_literal
- empty_collection_literal
- empty_count
- empty_string
- empty_xctest_method
- enum_case_associated_values_count
#- explicit_enum_raw_value
- explicit_init
- extension_access_modifier
- fallthrough
- fatal_error_message
- file_header
- file_name
- file_name_no_space
#- final_test_case # has been added to the source, but has not been released yet
- first_where
- flatmap_over_map_reduce
- force_unwrapping
#- function_default_parameter_at_end
- identical_operands
- implicitly_unwrapped_optional
- implicit_return
#- indentation_width # has conflicts with default xcode settings. use strg+i to indent correctly
- joined_default_parameter
- last_where
#- legacy_multiple
#- legacy_objc_type # not suitable do to third party libs
- literal_expression_end_indentation
- local_doc_comment
- lower_acl_than_parent
- multiline_arguments
- multiline_arguments_brackets
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- multiline_parameters_brackets
- no_magic_numbers
- number_separator
- operator_usage_whitespace
- orphaned_doc_comment
- overridden_super_call
- override_in_extension
- pattern_matching_keywords
- prefer_self_type_over_type_of_self
- prefer_zero_over_explicit_init
- prefixed_toplevel_constant
- private_swiftui_state
- reduce_into
- redundant_nil_coalescing
- redundant_type_annotation
- self_binding
- shorthand_optional_binding
- single_test_class
- sorted_first_last
#- sorted_imports # see #1295 on github, conflicts with testable, also managed with swiftformat
- static_operator
- strict_fileprivate
- test_case_accessibility
- toggle_bool
- trailing_closure
- unhandled_throwing_task
- unowned_variable_capture
- unneeded_parentheses_in_closure_argument
#- vertical_parameter_alignment_on_call
#- vertical_whitespace_between_cases
- vertical_whitespace_closing_braces
- vertical_whitespace_opening_braces
- xct_specific_matcher
- yoda_condition
file_header:
required_pattern: |
\/\/
\/\/ Created by .*? on \d{1,2}\.\d{1,2}\.\d{2}\.
\/\/
attributes:
always_on_same_line:
- "@IBSegueAction"
- "@IBAction"
- "@NSManaged"
- "@objc"
always_on_line_above:
- "@discardableResult"
force_cast: error
force_try: error
function_body_length:
warning: 150
legacy_hashing: error
identifier_name:
min_length: 2
max_length:
warning: 60
error: 80
excluded:
- id
multiline_arguments:
first_argument_location: any_line
only_enforce_after_first_closure_on_first_line: true
number_separator:
minimum_length: 5
overridden_super_call:
excluded:
- setUp()
- setUpWithError()
- tearDown()
- tearDownWithError()
private_over_fileprivate:
validate_extensions: true
trailing_whitespace:
ignores_empty_lines: true
ignores_comments: true
type_name:
min_length: 3
max_length:
warning: 70
error: 80
allowed_symbols:
- "_"
inclusive_language:
override_allowed_terms: [whitelist]
trailing_closure:
only_single_muted_parameter: true
cyclomatic_complexity:
ignores_case_statements: true
function_parameter_count:
warning: 6
error: 8
type_body_length:
warning: 300
error: 400