---
# LogosDB clang-tidy configuration
# Conservative rule set focused on correctness and performance

Checks: >
  bugprone-*,
  performance-*,
  readability-*,
  cppcoreguidelines-*,
  modernize-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-implicit-widening-of-multiplication-result,
  -bugprone-narrowing-conversions,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-narrowing-conversions,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  -cppcoreguidelines-pro-type-vararg,
  -modernize-avoid-c-arrays,
  -modernize-use-trailing-return-type,
  -readability-function-cognitive-complexity,
  -readability-implicit-bool-conversion,
  -readability-magic-numbers,
  -readability-named-parameter,
  -readability-simplify-boolean-expr,
  -readability-uppercase-literal-suffix,

CheckOptions:
  - key:   readability-identifier-naming.ClassCase
    value: CamelCase
  - key:   readability-identifier-naming.EnumCase
    value: CamelCase
  - key:   readability-identifier-naming.FunctionCase
    value: lower_case
  - key:   readability-identifier-naming.MacroDefinitionCase
    value: UPPER_CASE
  - key:   readability-identifier-naming.MemberCase
    value: lower_case
  - key:   readability-identifier-naming.NamespaceCase
    value: lower_case
  - key:   readability-identifier-naming.ParameterCase
    value: lower_case
  - key:   readability-identifier-naming.PrivateMemberSuffix
    value: _
  - key:   readability-identifier-naming.StructCase
    value: CamelCase
  - key:   readability-identifier-naming.TypeAliasCase
    value: CamelCase
  - key:   readability-identifier-naming.TypedefCase
    value: CamelCase
  - key:   readability-identifier-naming.UnionCase
    value: CamelCase
  - key:   readability-identifier-naming.VariableCase
    value: lower_case
  - key:   readability-braces-around-statements.ShortStatementLines
    value: '1'

HeaderFilterRegex: '(include|src)/.*\.h$'
FormatStyle: file
User: logosdb
