# vim: filetype=yaml

InheritParentConfig: true
Checks: >
    misc-*,
    clang-analyzer-*,
    modernize-*,
    readability-*,
    bugprone-*,
    -bugprone-multi-level-implicit-pointer-conversion,
    -modernize-use-nodiscard,
    -modernize-use-trailing-return-type,
    -performance-enum-size,
    -readability-named-parameter

WarningsAsErrors: >
    -clang-analyzer-*,

CheckOptions:
  - key: >-
      misc-non-private-member-variables-in-classes
      .IgnoreClassesWithAllMemberVariablesBeingPublic
    value: true
  - key: readability-function-size.StatementThreshold
    value: 100
  - key: readability-function-size.BranchThreshold
    value: 20
  - key: readability-function-size.ParameterThreshold
    value: 10
  - key: readability-function-size.NestingThreshold
    value: 5
  - {key: readability-identifier-naming.ClassCase,                  value: CamelCase}
  - {key: readability-identifier-naming.ConstexprVariableCase,      value: UPPER_CASE}
  - {key: readability-identifier-naming.EnumCase,                   value: CamelCase}
  - {key: readability-identifier-naming.EnumConstantCase,           value: UPPER_CASE}
  - {key: readability-identifier-naming.FunctionCase,               value: lower_case}
  - {key: readability-identifier-naming.GlobalConstantCase,         value: UPPER_CASE}
  - {key: readability-identifier-naming.MemberCase,                 value: lower_case}
  - {key: readability-identifier-naming.NamespaceCase,              value: lower_case}
  - {key: readability-identifier-naming.NamespaceIgnoredRegexp,     value: ^Tango$}
  - {key: readability-identifier-naming.ParameterCase,              value: lower_case}
  - {key: readability-identifier-naming.TemplateParameterCase,      value: CamelCase}
  - {key: readability-identifier-naming.TypeAliasCase,              value: CamelCase}
  - {key: readability-identifier-naming.UnionCase,                  value: CamelCase}
  - {key: readability-identifier-naming.ValueTemplateParameterCase, value: lower_case}
  - {key: readability-identifier-naming.VariableCase,               value: lower_case}
