CotEditor/.swiftlint.yml
2022-03-28 00:39:12 +09:00

154 lines
3.0 KiB
YAML

deployment_target:
macOS_deployment_target: 11
excluded:
- Frameworks
- SyntaxMapBuilder/.build
opt_in_rules:
- anyobject_protocol
- array_init
- attributes
- capture_variable
- closure_end_indentation
- closure_spacing
- collection_alignment
- contains_over_filter_count
- contains_over_filter_is_empty
- contains_over_first_not_nil
- discarded_notification_center_observer
- discouraged_assert
- discouraged_optional_boolean
- empty_collection_literal
- empty_string
- empty_xctest_method
- explicit_init
- explicit_self
- extension_access_modifier
- fallthrough
- file_header
- file_name_no_space
- first_where
- flatmap_over_map_reduce
- ibinspectable_in_extension
- identical_operands
- joined_default_parameter
- last_where
- legacy_multiple
- let_var_whitespace
- lower_acl_than_parent
- missing_docs
- multiline_function_chains
- multiline_parameters
- multiline_parameters_brackets
- nimble_operator
- optional_enum_case_matching
- overridden_super_call
- pattern_matching_keywords
- prefer_self_type_over_type_of_self
- prefer_zero_over_explicit_init
- private_outlet
- prohibited_super_call
- quick_discouraged_call
- quick_discouraged_focused_test
- quick_discouraged_pending_test
- raw_value_for_camel_cased_codable_enum
- reduce_into
- redundant_nil_coalescing
- required_enum_case
- single_test_class
- sorted_first_last
- static_operator
- toggle_bool
- unused_declaration
- unused_import
- vertical_parameter_alignment_on_call
- xct_specific_matcher
- yoda_condition
disabled_rules:
- block_based_kvo
- force_cast
- force_try
- nesting
- opening_brace
- trailing_comma
private_outlet:
allow_private_set: true
trailing_whitespace:
ignores_empty_lines: true
switch_case_alignment:
indented_cases: true
attributes:
always_on_same_line: ["@IBAction", "@objc"]
function_parameter_count:
warning: 6
vertical_whitespace:
max_empty_lines: 3
file_length:
warning: 2000
error: 3000
line_length:
warning: 1000
error: 2000
type_body_length:
warning: 1000
error: 1500
function_body_length:
warning: 300
error: 500
cyclomatic_complexity:
warning: 40
error: 50
large_tuple:
warning: 3
error: 6
identifier_name:
max_length:
warning: 60
error: 100
min_length:
warning: 2
excluded:
- x
- y
- shiftJIS_X0213
- macOS10_15
custom_rules:
comment_space:
name: "Space After Comment"
regex: '//\S'
match_kinds:
- comment
message: "There should be a space after a comment delimiter."
severity: warning
inline_comment_spaces:
name: "Spaces Before Inline Comment"
regex: '\S ?//'
match_kinds:
- comment
message: "There should be more than 2 spaces before an inline comment."
severity: warning
empty_first_line:
name: "Empty First Line"
regex: '(^[ a-zA-Z ]*(?:protocol|extension|class|struct) (?!(?:var|let))[ a-zA-Z:]*\{\n *\S+)'
message: "There should be an empty line after a declaration"
severity: warning