Checks: "-*,
  clang-diagnostic-*,
  llvm-*,
  chatterino-*,
  misc-*,
  -misc-unused-parameters,
  readability-identifier-naming,
  -llvm-header-guard,
  -llvm-include-order,
  modernize-*,
  readability-*,
  performance-*,
  misc-*,
  bugprone-*,
  cert-*,
  clazy-*,
  -clazy-qstring-allocations,
  -clazy-missing-qobject-macro,
  -clazy-incorrect-emit,
  -clazy-ctor-missing-parent-argument,
  -clazy-incorrect-emit,
  cppcoreguidelines-*,
  -cppcoreguidelines-pro-type-cstyle-cast,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-const-or-ref-data-members,
  -cppcoreguidelines-avoid-do-while,
  -readability-magic-numbers,
  -performance-noexcept-move-constructor,
  -misc-non-private-member-variables-in-classes,
  -misc-no-recursion,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -modernize-use-nodiscard,
  -modernize-use-trailing-return-type,
  -readability-identifier-length,
  -readability-function-cognitive-complexity,
  -bugprone-easily-swappable-parameters,
  -cert-err58-cpp,
  -modernize-avoid-c-arrays,
  -misc-include-cleaner,
  -llvm-prefer-static-over-anonymous-namespace
  "
CheckOptions:
  - key: readability-identifier-naming.ClassCase
    value: CamelCase
  - key: readability-identifier-naming.EnumCase
    value: CamelCase

  - key: readability-identifier-naming.FunctionCase
    value: camelBack
  - key: readability-identifier-naming.FunctionIgnoredRegexp
    value: ^(TEST|MOCK_METHOD)$

  - key: readability-identifier-naming.GlobalFunctionCase
    value: camelBack
  - key: readability-identifier-naming.GlobalFunctionIgnoredRegexp
    value: ^(tag_invoke)$

  - key: readability-identifier-naming.MemberCase
    value: camelBack
  - key: readability-identifier-naming.PrivateMemberIgnoredRegexp
    value: ^.*_$
  - key: readability-identifier-naming.ProtectedMemberIgnoredRegexp
    value: ^.*_$
  - key: readability-identifier-naming.UnionCase
    value: CamelCase
  - key: readability-identifier-naming.GlobalConstantCase
    value: UPPER_CASE
  - key: readability-identifier-naming.GlobalVariableCase
    value: UPPER_CASE
  - key: readability-identifier-naming.VariableCase
    value: camelBack
  - key: readability-implicit-bool-conversion.AllowPointerConditions
    value: true

  # Lua state
  - key: readability-identifier-naming.LocalPointerIgnoredRegexp
    value: ^L$

  # Benchmarks
  - key: readability-identifier-naming.FunctionIgnoredRegexp
    value: ^BM_[^_]+$
  - key: readability-identifier-naming.ClassIgnoredRegexp
    value: ^BM_[^_]+$

  - key: misc-const-correctness.AnalyzeValues
    value: false

  - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
    value: true
