eonist / Issues

Issues
2 stars 0 forks source link

Swift lint #34

Open eonist opened 1 year ago

eonist commented 1 year ago

Swift-lint

  1. install swift-lint: https://github.com/realm/SwiftLint/releases

  2. Add .swiftlint.yml to your xcode project folder

  3. Add swift-lint script to your xcodeproject:

    • XCode 👉 Build phases
    • Click "plus-button" 👉 Add run script
    • Paste in the bellow:
if which swiftlint >/dev/null; then
  swiftlint
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
  1. Build the project to see some swift-lint warnings

  2. Add a swift-lint badge to your github project:
    SwiftLint Eonist
    [![Swift-lint Eonist](https://img.shields.io/badge/swift--lint-eonist-purple.svg)](https://github.com/eonist/Swift-lint)

eonist commented 1 year ago

yml

only_rules:
  # - force_unwrapping
  # - force_cast
  # - weak_computed_property

  - anyobject_protocol
  - array_init
  #- attributes
  - block_based_kvo
  - class_delegate_protocol
  - closing_brace
  - closure_end_indentation
  - closure_parameter_position
  - closure_spacing
  - collection_alignment
  - colon
  - comma
  - compiler_protocol_init
#  - conditional_returns_on_newline
  - contains_over_first_not_nil
  - control_statement
  - deployment_target
  - discarded_notification_center_observer
  - discouraged_direct_init
  - discouraged_object_literal
  - discouraged_optional_boolean
#  - discouraged_optional_collection
  - duplicate_imports
  - dynamic_inline
  - empty_count
  - empty_enum_arguments
  - empty_parameters
  - empty_parentheses_with_trailing_closure
  - empty_string
  - empty_xctest_method
  - explicit_init
  - fallthrough
  - fatal_error_message
  - first_where
  - for_where
  - generic_type_name
  - identical_operands
  - identifier_name
  - implicit_getter
  - implicit_return
  - inert_defer
  - is_disjoint
  - joined_default_parameter
  - last_where
  - leading_whitespace
  - legacy_cggeometry_functions
  - legacy_constant
  - legacy_constructor
  - legacy_hashing
  - legacy_nsgeometry_functions
  - legacy_random
  - literal_expression_end_indentation
  - lower_acl_than_parent
  - mark
  - modifier_order
 # - multiline_arguments
#  - multiline_function_chains
  - multiline_literal_brackets
  - multiline_parameters
  - multiline_parameters_brackets
  - multiple_closures_with_trailing_closure
  - nimble_operator
  - no_extension_access_modifier
  - no_fallthrough_only
  - notification_center_detachment
  - number_separator
  - object_literal
  - opening_brace
  - operator_usage_whitespace
  - operator_whitespace
  - overridden_super_call
  - pattern_matching_keywords
  - private_action
#  - private_outlet
  - private_unit_test
  - prohibited_super_call
  - protocol_property_accessors_order
  - 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_enum_case
  - return_arrow_whitespace
  - shorthand_operator
  - sorted_first_last
#  - statement_position
  - static_operator
#  - 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_name
#  - unavailable_function
  - unneeded_break_in_switch
  - unneeded_parentheses_in_closure_argument
  #- untyped_error_in_catch
  - unused_closure_parameter
  - unused_control_flow_label
  - unused_enumerated
  - unused_optional_binding
  - unused_setter_value
  - valid_ibinspectable
  - vertical_parameter_alignment
  - vertical_parameter_alignment_on_call
  - vertical_whitespace_closing_braces
  - vertical_whitespace_opening_braces
  - void_return
  - weak_delegate
  - xct_specific_matcher
  - xctfail_message
  - yoda_condition
analyzer_rules:
  - unused_import
number_separator:
  minimum_length: 5
object_literal:
  image_literal: false
discouraged_object_literal:
  color_literal: false
identifier_name:
  max_length:
    warning: 100
    error: 100
  min_length:
    warning: 0
    error: 0
  validates_start_with_lowercase: false
  allowed_symbols:
    - '_'
  excluded:
    - 'x'
    - 'y'
    - 'a'
    - 'b'
    - 'x1'
    - 'x2'
    - 'y1'
    - 'y2'
# macOS_deployment_target: '10.12'
excluded: # paths to ignore during linting. Takes precedence over `included`.
    - 'Packages/External/SwiftDraw'