---
Checks: >-
  *,
  -abseil-*,
  -altera-*,
  -android-*,
  -boost-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-implicit-widening-of-multiplication-result,
  -bugprone-narrowing-conversions,
  -bugprone-signed-char-misuse,
  -cert-dcl50-cpp,
  -cert-err33-c,
  -cert-err58-cpp,
  -cert-oop57-cpp,
  -cert-str34-c,
  -clang-analyzer-optin.cplusplus.UninitializedObject,
  -clang-analyzer-osx.*,
  -clang-diagnostic-delete-abstract-non-virtual-dtor,
  -clang-diagnostic-delete-non-abstract-non-virtual-dtor,
  -clang-diagnostic-ignored-optimization-argument,
  -clang-diagnostic-shadow-field,
  -clang-diagnostic-unused-const-variable,
  -clang-diagnostic-unused-parameter,
  -concurrency-*,
  -cppcoreguidelines-avoid-c-arrays,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-init-variables,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-narrowing-conversions,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-prefer-member-initializer,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-const-cast,
  -cppcoreguidelines-pro-type-cstyle-cast,
  -cppcoreguidelines-pro-type-member-init,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  -cppcoreguidelines-pro-type-static-cast-downcast,
  -cppcoreguidelines-pro-type-union-access,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-special-member-functions,
  -cppcoreguidelines-virtual-class-destructor,
  -fuchsia-multiple-inheritance,
  -fuchsia-overloaded-operator,
  -fuchsia-statically-constructed-objects,
  -fuchsia-default-arguments-declarations,
  -fuchsia-default-arguments-calls,
  -google-build-using-namespace,
  -google-explicit-constructor,
  -google-readability-braces-around-statements,
  -google-readability-casting,
  -google-readability-namespace-comments,
  -google-readability-todo,
  -google-runtime-references,
  -hicpp-*,
  -llvm-else-after-return,
  -llvm-header-guard,
  -llvm-include-order,
  -llvm-qualified-auto,
  -llvmlibc-*,
  -misc-non-private-member-variables-in-classes,
  -misc-no-recursion,
  -misc-unused-parameters,
  -modernize-avoid-c-arrays,
  -modernize-avoid-bind,
  -modernize-concat-nested-namespaces,
  -modernize-return-braced-init-list,
  -modernize-use-auto,
  -modernize-use-default-member-init,
  -modernize-use-equals-default,
  -modernize-use-trailing-return-type,
  -modernize-use-nodiscard,
  -mpi-*,
  -objc-*,
  -readability-container-data-pointer,
  -readability-convert-member-functions-to-static,
  -readability-else-after-return,
  -readability-function-cognitive-complexity,
  -readability-implicit-bool-conversion,
  -readability-isolate-declaration,
  -readability-magic-numbers,
  -readability-make-member-function-const,
  -readability-redundant-string-init,
  -readability-uppercase-literal-suffix,
  -readability-use-anyofallof,
WarningsAsErrors: '*'
AnalyzeTemporaryDtors: false
FormatStyle:     google
CheckOptions:
  - key:             google-readability-function-size.StatementThreshold
    value:           '800'
  - key:             google-runtime-int.TypeSuffix
    value:           '_t'
  - key:             llvm-namespace-comment.ShortNamespaceLines
    value:           '10'
  - key:             llvm-namespace-comment.SpacesBeforeComments
    value:           '2'
  - key:             modernize-loop-convert.MaxCopySize
    value:           '16'
  - key:             modernize-loop-convert.MinConfidence
    value:           reasonable
  - key:             modernize-loop-convert.NamingStyle
    value:           CamelCase
  - key:             modernize-pass-by-value.IncludeStyle
    value:           llvm
  - key:             modernize-replace-auto-ptr.IncludeStyle
    value:           llvm
  - key:             modernize-use-nullptr.NullMacros
    value:           'NULL'
  - key:             modernize-make-unique.MakeSmartPtrFunction
    value:           'make_unique'
  - key:             modernize-make-unique.MakeSmartPtrFunctionHeader
    value:           'esphome/core/helpers.h'
  - key:             readability-braces-around-statements.ShortStatementLines
    value:           2
  - key:             readability-identifier-naming.LocalVariableCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ClassCase
    value:           'CamelCase'
  - key:             readability-identifier-naming.StructCase
    value:           'CamelCase'
  - key:             readability-identifier-naming.EnumCase
    value:           'CamelCase'
  - key:             readability-identifier-naming.EnumConstantCase
    value:           'UPPER_CASE'
  - key:             readability-identifier-naming.StaticConstantCase
    value:           'UPPER_CASE'
  - key:             readability-identifier-naming.StaticVariableCase
    value:           'lower_case'
  - key:             readability-identifier-naming.GlobalConstantCase
    value:           'UPPER_CASE'
  - key:             readability-identifier-naming.ParameterCase
    value:           'lower_case'
  - key:             readability-identifier-naming.PrivateMemberCase
    value:           'lower_case'
  - key:             readability-identifier-naming.PrivateMemberSuffix
    value:           '_'
  - key:             readability-identifier-naming.PrivateMethodCase
    value:           'lower_case'
  - key:             readability-identifier-naming.PrivateMethodSuffix
    value:           '_'
  - key:             readability-identifier-naming.ClassMemberCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ClassMemberCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ProtectedMemberCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ProtectedMemberSuffix
    value:           '_'
  - key:             readability-identifier-naming.FunctionCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ClassMethodCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ProtectedMethodCase
    value:           'lower_case'
  - key:             readability-identifier-naming.ProtectedMethodSuffix
    value:           '_'
  - key:             readability-identifier-naming.VirtualMethodCase
    value:           'lower_case'
  - key:             readability-identifier-naming.VirtualMethodSuffix
    value:           ''
  - key:             readability-qualified-auto.AddConstToQualified
    value:           0
  - key:             readability-identifier-length.MinimumVariableNameLength
    value:           0
  - key:             readability-identifier-length.MinimumParameterNameLength
    value:           0
  - key:             readability-identifier-length.MinimumLoopCounterNameLength
    value:           0