# (c) 2025 V-Nova International. All rights reserved.  
# Licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0).

Checks: >
  *,
  -abseil-*,
  -altera-*,
  -android-*,
  -cert-*,
  -fuchsia-*,
  -google-*,
  -hicpp-*,
  -llvm*,
  -zircon-*,
  -*-avoid-c-arrays,
  -bugprone-easily-swappable-parameters,
  -bugprone-unsafe-functions,
  -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-static-cast-downcast,
  -cppcoreguidelines-pro-type-vararg,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  -modernize-pass-by-value,
  -modernize-use-nodiscard,
  -modernize-use-trailing-return-type,
  -performance-no-int-to-ptr,
  -performance-noexcept-move-constructor,
  -readability-function-cognitive-complexity,
  -readability-implicit-bool-conversion,
  -readability-magic-numbers,
  -readability-simplify-boolean-expr,
  -readability-uppercase-literal-suffix,
  -readability-named-parameter,

CheckOptions:
  - { key: readability-identifier-naming.ClassCase, value: CamelCase }
  - { key: readability-identifier-naming.ClassConstantCase, value: CamelCase }
  - { key: readability-identifier-naming.ClassConstantPrefix, value: k }
  - { key: readability-identifier-naming.ConstexprVariableCase, value: aNy_CasE }
  - { key: readability-identifier-naming.ConstexprVariablePrefix, value: '' }
  - { key: readability-identifier-naming.EnumCase, value: CamelCase }
  - { key: readability-identifier-naming.EnumIgnoredRegexp, value: LCEVC_.* }
  - { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
  - { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: LCEVC_.* }
  - { key: readability-identifier-naming.FunctionCase, value: camelBack }
  - { key: readability-identifier-naming.FunctionIgnoredRegexp, value: make_error_code|swap|to_string|LCEVC_.* }
  - { key: readability-identifier-naming.GlobalConstantCase, value: CamelCase }
  - { key: readability-identifier-naming.GlobalConstantPrefix, value: k }
  - { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
  - { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: VN_.*_H_ }
  - { key: readability-identifier-naming.MacroDefinitionPrefix, value: VN }
  - { key: readability-identifier-naming.MethodCase, value: camelBack }
  - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
  - { key: readability-identifier-naming.ParameterCase, value: camelBack }
  - { key: readability-identifier-naming.PrivateMemberCase, value: camelBack }
  - { key: readability-identifier-naming.PrivateMemberPrefix, value: m_ }
  - { key: readability-identifier-naming.PublicMemberCase, value: camelBack }
  - { key: readability-identifier-naming.ScopedEnumCase, value: CamelCase }
  - { key: readability-identifier-naming.ScopedEnumConstantCase, value: CamelCase }
  - { key: readability-identifier-naming.StructCase, value: CamelCase }
  - { key: readability-identifier-naming.StructIgnoredRegexp, value: LCEVC_.* }
  - { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
  - { key: readability-identifier-naming.TypeAliasCase, value: CamelCase }
  - { key: readability-identifier-naming.TypeDef, value: CamelCase }
  - { key: readability-identifier-naming.VariableCase, value: camelBack }

  - { key: readability-identifier-length.MinimumVariableNameLength, value: 2 }
  - { key: readability-identifier-length.MinimumParameterNameLength, value: 2 }
  - { key: readability-identifier-length.IgnoredVariableNames, value: x|y|z|r|g|b|a|y|u|v }
  - { key: readability-identifier-length.IgnoredParameterNames, value: x|y|z|r|g|b|a|y|u|v }
  - { key: readability-identifier-length.IgnoredLoopCounterNames, value: x|y|z|i|j|k }
