# A YAML format of https://clang.llvm.org/extra/clang-tidy/.

# Prefix check with "-" to ignore.
Checks: >-
  bugprone-use-after-move,
  bugprone-unchecked-optional-access,
  clang-analyzer-*,
  clang-diagnostic-*,
  darwin-*,
  google-*,
  modernize-use-default-member-init,
  objc-*,
  -objc-nsinvocation-argument-lifetime,
  readability-identifier-naming,
  -google-build-using-namespace,
  -google-default-arguments,
  -google-objc-global-variable-declaration,
  -google-objc-avoid-throwing-exception,
  -google-readability-casting,
  -clang-analyzer-nullability.NullPassedToNonnull,
  -clang-analyzer-nullability.NullablePassedToNonnull,
  -clang-analyzer-nullability.NullReturnedFromNonnull,
  -clang-analyzer-nullability.NullableReturnedFromNonnull,
  performance-move-const-arg,
  performance-unnecessary-value-param

CheckOptions:
  - key: modernize-use-default-member-init.UseAssignment
    value: true
  - key: readability-identifier-naming.EnumConstantCase
    value: "CamelCase"
  - key: readability-identifier-naming.EnumConstantPrefix
    value: "k"
  - key: readability-identifier-naming.GlobalConstantCase
    value: "CamelCase"
  - key: readability-identifier-naming.GlobalConstantPrefix
    value: "k"
  - key: readability-identifier-naming.PrivateMemberCase
    value: "lower_case"
  - key: readability-identifier-naming.PrivateMemberSuffix
    value: "_"

# Lint headers within paths that contain "/flutter/" but not:
# - gen         (generated code, the fact it compiles is good enough™)
# - third_party (we didn't author most of the code, and can't fix the lints)
#
# Note this is because of our buildroot setup, so the full path of a lint is:
# "../../flutter/impeller/core/runtime_types.h:1:1" as reported.
HeaderFilterRegex: "(!third_party/)(!gen/).*/flutter/.*"
