---
# clang-tidy configuration for xarray-dbd C++ extension
#
# Focused checks for C++17 codebase with pybind11 bindings.
# Run via: cmake -B build -DENABLE_CLANG_TIDY=ON && cmake --build build

Checks: >
  -*,
  bugprone-*,
  cppcoreguidelines-*,
  modernize-*,
  performance-*,
  readability-braces-around-statements,
  readability-container-size-empty,
  readability-else-after-return,
  readability-implicit-bool-conversion,
  readability-redundant-smartptr-get,
  readability-simplify-boolean-expr,
  -bugprone-easily-swappable-parameters,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-pro-type-reinterpret-cast,
  -cppcoreguidelines-pro-type-union-access,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-constant-array-index,
  -cppcoreguidelines-avoid-c-arrays,
  -cppcoreguidelines-avoid-non-const-global-variables,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-special-member-functions,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -modernize-use-trailing-return-type,
  -modernize-avoid-c-arrays,
  -modernize-use-nodiscard,

WarningsAsErrors: ''

HeaderFilterRegex: 'csrc/.*\.H$'

CheckOptions:
  - key: readability-braces-around-statements.ShortStatementLines
    value: '1'
