---
# We should aim to fix the code and re-enable most of the rules here.
# The following were disabled due to false positives:
# - clang-analyzer-cplusplus.NewDeleteLeaks: Finds a leak inside std::function (clang-tidy 15.0.7)
Checks: >
    bugprone-*,
    cert-*,
    clang-analyzer-*,
    clang-diagnostic-*,
    cppcoreguidelines-*,
    hicpp-*,
    misc-*,
    modernize-*,
    performance-*,
    portability-*,
    readability-*,
    -bugprone-easily-swappable-parameters,
    -bugprone-branch-clone,
    -cert-env33-c,
    -clang-analyzer-core.CallAndMessage,
    -clang-analyzer-optin.cplusplus.UninitializedObject,
    -clang-analyzer-security.insecureAPI.strcpy,
    -clang-analyzer-cplusplus.NewDeleteLeaks,
    -clang-diagnostic-unused-parameter,
    -cppcoreguidelines-avoid-c-arrays,
    -cppcoreguidelines-avoid-magic-numbers,
    -cppcoreguidelines-init-variables,
    -cppcoreguidelines-macro-usage,
    -cppcoreguidelines-owning-memory,
    -cppcoreguidelines-explicit-virtual-functions,
    -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
    -cppcoreguidelines-pro-bounds-pointer-arithmetic,
    -cppcoreguidelines-pro-type-cstyle-cast,
    -cppcoreguidelines-pro-type-vararg,
    -cppcoreguidelines-special-member-functions,
    -hicpp-avoid-c-arrays,
    -hicpp-explicit-conversions,
    -hicpp-no-array-decay,
    -hicpp-signed-bitwise,
    -hicpp-special-member-functions,
    -hicpp-use-override,
    -hicpp-vararg,
    -misc-definitions-in-headers,
    -misc-include-cleaner,
    -misc-non-private-member-variables-in-classes,
    -modernize-avoid-c-arrays,
    -modernize-make-unique,
    -modernize-pass-by-value,
    -modernize-use-nodiscard,
    -modernize-use-override,
    -modernize-use-trailing-return-type,
    -modernize-use-using,
    -performance-enum-size,
    -performance-unnecessary-value-param,
    -readability-convert-member-functions-to-static,
    -readability-else-after-return,
    -readability-qualified-auto,
    -readability-function-cognitive-complexity,
    -readability-implicit-bool-conversion,
    -readability-inconsistent-declaration-parameter-name,
    -readability-magic-numbers
CheckOptions:
  # We use short variables like "w"
  - key:   readability-identifier-length.MinimumVariableNameLength
    value: 1
  # We use short parameters like "w"
  - key:   readability-identifier-length.MinimumParameterNameLength
    value: 1
  # We have many value variables that aren't declared as const.
  - key:   misc-const-correctness.AnalyzeValues
    value: 0
HeaderFilterRegex: webview\.h$
