# Для тестов, подхватываем compile_commands для host
If:
  PathMatch: "tests/host/.*\\.c"
CompileFlags:
  CompilationDatabase: build/host-debug

---
# Для всего кроме тестов, подхватываем compile_commands для target
If:
  PathExclude: "tests/host/.*\\.c"
CompileFlags:
  CompilationDatabase: build/Debug

---
# Не ругаемся на нарушения правил нейминга в тестах
If:
  PathMatch: "tests/.*\\.c"
Diagnostics:
  ClangTidy:
    Remove:
      - readability-identifier-naming
  UnusedIncludes: None

---

# SDK NXP: сгенерированный/вендорный код — tidy полностью отключён
If:
  PathMatch: "sdk/.*\\.(c|h)"
Diagnostics:
  ClangTidy:
    Remove:
      - "*"
  UnusedIncludes: None

---
# Сторонние библиотеки (SEGGER RTT и др.) — tidy полностью отключён
If:
  PathMatch: "lib/.*\\.(c|h)"
Diagnostics:
  ClangTidy:
    Remove:
      - "*"
  UnusedIncludes: None

---
# BSP board: сгенерированный Config Tools код — tidy полностью отключён
If:
  PathMatch: "bsp/board/(board|pin_mux|clock_config)\\.(c|h)"
Diagnostics:
  ClangTidy:
    Remove:
      - "*"
  UnusedIncludes: None

---
# Глобальные настройки
Index:
  Background: Build
Diagnostics:
  ClangTidy:
    Add:
      - bugprone-*
      - clang-analyzer-*
      - performance-*
      - readability-*
      - portability-*
    Remove:
      - performance-no-int-to-ptr 
      - readability-magic-numbers
      - readability-isolate-declaration
      - bugprone-easily-swappable-parameters
  UnusedIncludes: Enabled
InlayHints:
  Enabled: true
  ParameterNames: true
  DeducedTypes: true
