---
HeaderFilterRegex: .*/libtransmission-app/.*

# PRs welcome to fix & re-enable any of these explicitly-disabled checks
Checks:
  - bugprone-*
  - -bugprone-branch-clone
  - -bugprone-easily-swappable-parameters
  - -bugprone-implicit-widening-of-multiplication-result
  - -bugprone-narrowing-conversions
  - cert-*
  - -cert-err58-cpp
  - -cert-int09-c # alias of `readability-enum-initial-value`
  - clang-analyzer-*
  - -clang-analyzer-optin.core.EnumCastOutOfRange
  - cppcoreguidelines-avoid-do-while
  - cppcoreguidelines-avoid-goto
  - cppcoreguidelines-avoid-reference-coroutine-parameters
  - cppcoreguidelines-init-variables
  - cppcoreguidelines-interfaces-global-init
  - cppcoreguidelines-no-malloc
  - cppcoreguidelines-prefer-member-initializer
  - cppcoreguidelines-pro-type-cstyle-cast
  - cppcoreguidelines-pro-type-member-init
  - cppcoreguidelines-slicing
  - cppcoreguidelines-special-member-functions
  - cppcoreguidelines-virtual-class-destructor
  - google-explicit-constructor
  - misc-*
  - -misc-include-cleaner
  - -misc-no-recursion
  - -misc-non-private-member-variables-in-classes
  - modernize-*
  - -modernize-use-trailing-return-type
  - performance-*
  - -performance-move-const-arg
  - portability-*
  - -portability-template-virtual-member-function # TODO: Enable after https://github.com/llvm/llvm-project/issues/139031 is fixed
  - readability-*
  - -readability-enum-initial-value
  - -readability-function-cognitive-complexity
  - -readability-identifier-length
  - -readability-magic-numbers
  - -readability-qualified-auto

CheckOptions:
  - { key: cppcoreguidelines-avoid-do-while.IgnoreMacros,                    value: true       }
  - { key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor,  value: true       }
  - { key: readability-identifier-naming.ConstexprVariableCase,              value: CamelCase  }
  - { key: readability-identifier-naming.ParameterCase,                      value: lower_case }
  - { key: readability-identifier-naming.PrivateMemberSuffix,                value: _          }
  - { key: readability-identifier-naming.ProtectedMemberSuffix,              value: _          }
  - { key: readability-identifier-naming.VariableCase,                       value: lower_case }
  - { key: readability-implicit-bool-conversion.UseUpperCaseLiteralSuffix,   value: true       }
