# Folders to exclude from linting excluded: - Carthage - go - Pods # Active rules whitelist_rules: - anyobject_protocol - array_init # - attributes # Contradicts with SwiftFormat option 'funcattributes = prev-line'. - block_based_kvo - class_delegate_protocol - closing_brace - closure_body_length - closure_end_indentation - closure_parameter_position - closure_spacing - collection_alignment - colon - comma - compiler_protocol_init - conditional_returns_on_newline - contains_over_filter_count - contains_over_filter_is_empty - contains_over_first_not_nil - control_statement - convenience_type - custom_rules # - cyclomatic_complexity - deployment_target - discarded_notification_center_observer - discouraged_direct_init # - discouraged_object_literal - discouraged_optional_boolean # - discouraged_optional_collection # Too many false positives in implementations of system protocols. - duplicate_enum_cases - duplicate_imports - dynamic_inline - empty_collection_literal # - empty_count # Too many false positives for variables named 'count'. - empty_enum_arguments - empty_parameters - empty_parentheses_with_trailing_closure - empty_string - empty_xctest_method - enum_case_associated_values_count - expiring_todo # - explicit_acl # - explicit_enum_raw_value # Disabled in favor of 'redundant_string_enum_value'. - explicit_init - explicit_self # - explicit_top_level_acl # - explicit_type_interface # - extension_access_modifier - fallthrough - fatal_error_message # - file_header # - file_length # - file_name - file_name_no_space # - file_types_order - first_where - flatmap_over_map_reduce - for_where # - force_cast # - force_try # - force_unwrapping # - function_body_length # - function_default_parameter_at_end # - function_parameter_count - generic_type_name - identical_operands # - identifier_name - implicit_getter # - implicit_return # - implicitly_unwrapped_optional # - indentation_width - inert_defer - 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_random - let_var_whitespace # - line_length - literal_expression_end_indentation - lower_acl_than_parent - mark # - missing_docs - modifier_order - multiline_arguments - multiline_arguments_brackets - multiline_function_chains - multiline_literal_brackets - multiline_parameters - multiline_parameters_brackets - multiple_closures_with_trailing_closure - nesting - nimble_operator # - no_extension_access_modifier - no_fallthrough_only # - no_grouping_extension - no_space_in_method_call - notification_center_detachment - nslocalizedstring_key - nslocalizedstring_require_bundle - nsobject_prefer_isequal # - number_separator # Contradicts with SwiftFormat rule 'decimalgrouping'. There are not many numbers anyway in the source code. - object_literal - opening_brace - operator_usage_whitespace - operator_whitespace - optional_enum_case_matching - orphaned_doc_comment # - overridden_super_call - override_in_extension - pattern_matching_keywords - prefer_self_type_over_type_of_self # - prefixed_toplevel_constant # Violations are mostly in test code. # - private_action # - private_outlet - private_over_fileprivate - private_unit_test # - prohibited_interface_builder # - prohibited_super_call - protocol_property_accessors_order - quick_discouraged_call - quick_discouraged_focused_test - quick_discouraged_pending_test - raw_value_for_camel_cased_codable_enum - 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_deinit - required_enum_case - return_arrow_whitespace - shorthand_operator - single_test_class - sorted_first_last # - sorted_imports - statement_position # - static_operator # - strict_fileprivate - strong_iboutlet - 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 # - type_body_length # - type_contents_order # - type_name - unavailable_function - unneeded_break_in_switch # - unneeded_parentheses_in_closure_argument # - unowned_variable_capture - untyped_error_in_catch - unused_capture_list - unused_closure_parameter - unused_control_flow_label - unused_declaration - unused_enumerated - unused_import # - unused_optional_binding - unused_setter_value - valid_ibinspectable - vertical_parameter_alignment - vertical_parameter_alignment_on_call - vertical_whitespace # - vertical_whitespace_between_cases # - vertical_whitespace_closing_braces - vertical_whitespace_opening_braces - void_return # - weak_delegate - xct_specific_matcher - xctfail_message - yoda_condition # Configuration for specific rules closure_body_length: warning: 40 error: 60