---
Checks: >-
  -*,
  bugprone-*,
  -bugprone-branch-clone,
  -bugprone-easily-swappable-parameters,
  -bugprone-exception-escape,
  -bugprone-implicit-widening-of-multiplication-result,
  -bugprone-reserved-identifier,
  -bugprone-suspicious-include,
  -bugprone-unchecked-optional-access,
  -bugprone-chained-comparison,
  clang-analyzer-core.*,
  clang-analyzer-cplusplus.*,
  clang-analyzer-deadcode.*,
  clang-analyzer-nullability.*,
  clang-analyzer-optin.cplusplus.*,
  -clang-analyzer-optin.cplusplus.UninitializedObject,
  clang-analyzer-optin.performance.*,
  clang-analyzer-optin.portability.*,
  clang-analyzer-security.*,
  clang-analyzer-unix.*,
  clang-diagnostic-*,
  cppcoreguidelines-*,
  cppcoreguidelines-*,
  -cppcoreguidelines-avoid-c-arrays,
  -cppcoreguidelines-avoid-const-or-ref-data-members,
  -cppcoreguidelines-avoid-do-while,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-no-malloc,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-owning-memory,
  -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-reinterpret-cast,
  -cppcoreguidelines-pro-type-static-cast-downcast,
  -cppcoreguidelines-pro-type-union-access,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-special-member-functions,
  modernize-*,
  -modernize-avoid-bind,
  -modernize-avoid-c-arrays,
  -modernize-return-braced-init-list,
  -modernize-use-bool-literals,
  -modernize-use-trailing-return-type,
  performance-*,
  -performance-no-int-to-ptr,
  readability-*,
  -readability-avoid-unconditional-preprocessor-if,
  -readability-braces-around-statements,
  -readability-container-contains,
  -readability-convert-member-functions-to-static,
  -readability-else-after-return,
  -readability-identifier-length,
  -readability-implicit-bool-conversion,
  -readability-magic-numbers,
  -readability-named-parameter,
  -readability-redundant-access-specifiers,
  -readability-simplify-boolean-expr,
  -readability-uppercase-literal-suffix,
  -readability-use-anyofallof,
  -readability-redundant-member-init,
  -readability-redundant-inline-specifier,
  -readability-redundant-casting,
  misc-const-correctness,
WarningsAsErrors: >-
  performance-enum-size,
  readability-identifier-naming,
  readability-avoid-nested-conditional-operator,
  misc-const-correctness,
  modernize-use-nullptr,
  modernize-use-constraints,
  modernize-use-designated-initializers,
  readability-math-missing-parentheses,
  bugprone-narrowing-conversions,
UseColor: true
HeaderFilterRegex: 'src/(contour|crispy|text_shaper|vtpty|vtparser|vtbackend|vtrasterizer)/'
FormatStyle:     none
CheckOptions:
  - key:             bugprone-easily-swappable-parameters.MinimumLength
    value:           '3'
  - key:             cert-dcl16-c.NewSuffixes
    value:           'L;LL;LU;LLU'
  - key:             cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
    value:           '0'
  - key:             cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
    value:           '1'
  - key:             cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value:           '1'
  - key:             google-readability-braces-around-statements.ShortStatementLines
    value:           '1'
  - key:             google-readability-function-size.StatementThreshold
    value:           '800'
  - key:             google-readability-namespace-comments.ShortNamespaceLines
    value:           '10'
  - key:             google-readability-namespace-comments.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-use-default-member-init.UseAssignment
    value:           '1'
  - key:             readability-identifier-naming.EnumCase
    value:           CamelCase
  - key:             readability-identifier-naming.EnumConstantCase
    value:           CamelCase
  - key:             readability-identifier-naming.ConstantMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstantMemberPrefix
    value:           '_'
  - key:             readability-identifier-naming.ClassCase
    value:           CamelCase
  - key:             readability-identifier-naming.ClassMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.PublicMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.PrivateMemberCase
    value:           camelBack
  - key:             readability-identifier-naming.PublicMemberPrefix
    value:           ''
  - key:             readability-identifier-naming.PrivateMemberPrefix
    value:           '_'
  - key:             readability-identifier-naming.ClassMethodCase
    value:           camelBack
  - key:             readability-identifier-naming.ParameterCase
    value:           camelBack
  - key:             readability-identifier-naming.ParameterPrefix
    value:           ''
  - key:             readability-identifier-naming.ScopedEnumConstantCase
    value:           CamelCase
  - key:             readability-identifier-naming.VariableCase
    value:           camelBack
  - key:             readability-identifier-naming.VariableCasePrefix
    value:           ''
  - key:             readability-identifier-naming.ConstexprVariableCase
    value:           CamelCase
  - key:             readability-identifier-naming.ConstexprVariableCasePrefix
    value:           ''
  - key:             readability-identifier-naming.ConstantCase
    value:           camelBack
  - key:             readability-identifier-naming.ConstantCasePrefix
    value:           ''
  - key:             readability-function-cognitive-complexity.Threshold
    value:           '50'
