--- # Match either path separator: on Windows, headers resolved via backslash -I # paths are reported as ...\src\..., which a forward-slash-only regex misses. HeaderFilterRegex: 'src[/\\].*' # Exclude src/contrib and CMake autogen output (AUTOUIC/AUTOMOC/AUTORCC headers # under build/). Note: HeaderFilterRegex uses POSIX ERE (no lookahead), so the # contrib exclusion must live here rather than as a negative lookahead above. ExcludeHeaderFilterRegex: 'src[/\\]contrib[/\\].*|.*_autogen[/\\].*' # TODO: Reevaluate -modernize-use-nodiscard. # TODO: Re-enable {cppcoreguidelines,misc}-non-private-member-variables-in-classes. # clang-analyzer-core.StackAddressEscape: cpp-httplib stores handlers by value, but the analyzer # reports a false escape inside the library header, where it cannot be suppressed in-source. Checks: > *, -abseil-*, -altera-*, -android-*, -bugprone-easily-swappable-parameters, -clang-analyzer-core.StackAddressEscape, -concurrency-mt-unsafe, -cppcoreguidelines-avoid-magic-numbers, -cppcoreguidelines-non-private-member-variables-in-classes, -cppcoreguidelines-owning-memory, -cppcoreguidelines-prefer-member-initializer, -cppcoreguidelines-pro-type-static-cast-downcast, -fuchsia-*, -google-*, google-build-using-namespace, -linuxkernel-*, -llvm-header-guard, -llvm-prefer-static-over-anonymous-namespace, -llvmlibc-*, -misc-include-cleaner, -misc-non-private-member-variables-in-classes, -modernize-use-nodiscard, -modernize-use-trailing-return-type, -performance-enum-size, -readability-function-cognitive-complexity, -readability-identifier-length, -readability-magic-numbers, CheckOptions: cppcoreguidelines-pro-bounds-avoid-unchecked-container-access.ExcludeClasses: >- ::std::array;::std::span; ::std::map;::std::unordered_map;::std::flat_map; ::QJsonObject;::QMap;::QHash;::QMultiMap;::QMultiHash; ::QVariantMap;::QVariantHash