-
Notifications
You must be signed in to change notification settings - Fork 30
/
.swiftlint.yml
112 lines (98 loc) · 2.42 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
# Reference: https://github.com/realm/SwiftLint
# Required Swiftlint Version
# swiftlint_version: 0.39.2
# Paths to include in lint
included:
- Demo
- Sources
- UnitTests
disabled_rules:
- todo
- type_name # tests will have have the format <SUT>_Tests
- xctfail_message
- blanket_disable_command
- non_optional_string_data_conversion
opt_in_rules:
- array_init
- attributes
- closure_end_indentation
- closure_spacing
- collection_alignment
- colon # promote to error
- convenience_type
- discouraged_object_literal
- empty_collection_literal
- empty_count
- empty_string
- enum_case_associated_values_count
- fatal_error_message
- first_where
- force_unwrapping
- implicitly_unwrapped_optional
- indentation_width
- last_where
- legacy_random
- literal_expression_end_indentation
- multiline_arguments
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- multiline_parameters_brackets
- operator_usage_whitespace
- overridden_super_call
- pattern_matching_keywords
- prefer_self_type_over_type_of_self
- redundant_nil_coalescing
- redundant_type_annotation
- strict_fileprivate
- toggle_bool
- trailing_closure
- unneeded_parentheses_in_closure_argument
- unused_import
- vertical_whitespace_closing_braces
- yoda_condition
custom_rules:
array_constructor:
name: "Array/Dictionary initializer"
regex: '[let,var] .+ = (\[.+\]\(\))'
capture_group: 1
message: "Use explicit type annotation when initializing empty arrays and dictionaries"
severity: warning
space_after_main_type:
name: "No space after main type"
regex: '(class|struct|extension)((?-s)\s.*\{$\n)(?!^\s*$)'
message: "Empty line required after main declarations"
severity: warning
attributes:
always_on_same_line:
- "@IBSegueAction"
- "@IBAction"
- "@NSManaged"
- "@objc"
force_cast: warning
force_try: warning
function_body_length:
warning: 60
legacy_hashing: error
identifier_name:
excluded:
- i
- id
- x
- y
- z
indentation_width:
indentation_width: 4
line_length:
warning: 140
ignores_urls: true
ignores_comments: true
multiline_arguments:
first_argument_location: next_line
only_enforce_after_first_closure_on_first_line: true
private_over_fileprivate:
validate_extensions: true
trailing_whitespace:
ignores_empty_lines: true
vertical_whitespace:
max_empty_lines: 2