# Complete clang-tidy configuration for fcitx5-vinput (C++20)
# Enables comprehensive static analysis, dead code detection, and redundancy checks.

Checks: >
  -*,
  bugprone-*,
  -bugprone-easily-swappable-parameters,
  -bugprone-narrowing-conversions,
  -bugprone-exception-escape,
  clang-analyzer-*,
  clang-analyzer-deadcode.*,
  cppcoreguidelines-*,
  -cppcoreguidelines-avoid-c-arrays,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-macro-usage,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-bounds-pointer-arithmetic,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-owning-memory,
  misc-*,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  modernize-*,
  -modernize-use-trailing-return-type,
  -modernize-avoid-c-arrays,
  performance-*,
  readability-*,
  -readability-magic-numbers,
  -readability-named-parameter,
  -readability-function-cognitive-complexity,
  -readability-identifier-length,
  -readability-else-after-return,
  -readability-use-concise-preprocessor-directives

WarningsAsErrors: ''

# Only check project source headers, exclude build/_deps and third_party
HeaderFilterRegex: '^(src|tests)/.*'

CheckOptions:
  readability-identifier-naming.ClassCase: CamelCase
  readability-identifier-naming.StructCase: CamelCase
  readability-identifier-naming.EnumCase: CamelCase
