# # rule identifiers to exclude from running
disabled_rules:
  - trailing_whitespace
  - unused_setter_value
  - redundant_discardable_let
  - identifier_name

# some rules are only opt-in
opt_in_rules:  
  - force_unwrapping
  - private_action
  - explicit_init

# paths to include during linting. `--path` is ignored if present.
included:
  - ElementX
  - Tools/Scripts/Templates
excluded:
  - IntegrationTests

line_length:
  warning: 250
  error: 1000

file_length:
  warning: 800
  error: 1000

type_name:
  min_length: 3 # only warning
  max_length: # warning and error
    warning: 150
    error: 1000

type_body_length:
  warning: 700
  error: 1000

custom_rules:
  print_deprecation:
    regex: "\\b(print)\\b"
    match_kinds: identifier
    message: "MXLog should be used instead of print()"
    severity: error

  print_ln_deprecation:
    regex: "\\b(println)\\b"
    match_kinds: identifier
    message: "MXLog should be used instead of println()"
    severity: error

  os_log_deprecation:
    regex: "\\b(os_log)\\b"
    match_kinds: identifier
    message: "MXLog should be used instead of os_log()"
    severity: error
