---
WarningsAsErrors: "*"
FormatStyle: none
HeaderFilterRegex: .*
ExcludeHeaderFilterRegex: ".*(ccpp)/.*|.*limine.h.*"
ExtraArgs: [-std=gnu++26, -fconstexpr-steps=10000000, -Wno-unknown-warning-option, -fsized-deallocation]
Checks: >
  -*,
  bugprone-*,
  -bugprone-crtp-constructor-accessibility,
  -bugprone-easily-swappable-parameters,
  -bugprone-inc-dec-in-conditions,
  -bugprone-macro-parentheses,
  -bugprone-reserved-identifier,
  misc-*,
  -misc-confusable-identifiers,
  -misc-const-correctness,
  -misc-include-cleaner,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  -misc-unconventional-assign-operator,
  -misc-use-anonymous-namespace,
  modernize-*,
  -modernize-avoid-c-arrays,
  -modernize-concat-nested-namespaces,
  -modernize-deprecated-headers,
  -modernize-use-designated-initializers,
  -modernize-use-nodiscard,
  -modernize-use-std-numbers,
  performance-*,
  -performance-avoid-endl,
  -performance-enum-size,
  -performance-no-int-to-ptr,
  -performance-noexcept-move-constructor,
  readability-*,
  -readability-avoid-nested-conditional-operator,
  -readability-convert-member-functions-to-static,
  -readability-function-size,
  -readability-identifier-length,
  -readability-implicit-bool-conversion,
  -readability-magic-numbers,
  -readability-make-member-function-const,
  -readability-math-missing-parentheses,
  -readability-named-parameter,
  -readability-static-accessed-through-instance,
CheckOptions:
  - key: bugprone-dangling-handle.HandleClasses
    value: "di::StringView;di::Span"
  - key: bugprone-sizeof-expression.WarnOnSizeOfPointerToAggregate
    value: false
  - key: modernize-use-auto.MinTypeNameLength
    value: 0
  - key: modernize-use-std-print.ReplacementPrintFunction
    value: dius::print
  - key: modernize-use-std-print.ReplacementPrintlnFunction
    value: dius::println
  - key: modernize-use-std-print.PrintHeader
    value: <dius/print.h>
  - key: performance-move-const-arg.CheckTriviallyCopyableMove
    value: false
  - key: readability-implicit-bool-conversion.AllowPointerConditions
    value: true
  - key: readability-implicit-bool-conversion.AllowIntegerConditions
    value: true
  - key: readability-function-cognitive-complexity.Threshold
    value: 60
  - key: readability-function-cognitive-complexity.IgnoreMacros
    value: true
  - key: readability-uppercase-literal-suffix.NewSuffixes
    value: L;UL;ULL;L;LL;LU;LLU;Z;ZU
