# https://clangd.llvm.org/config

---

# Default conditions, apply everywhere.

CompileFlags:
  Add:
    # Some thirdparty includes seem to require a high -ferror-limit to pass checks.
    - -ferror-limit=100

Diagnostics:
  Includes:
    IgnoreHeader:
      - \.compat\.inc

---

# Header-specific conditions.

If:
  PathMatch: .*\.(h|hh|hpp|hxx|inc)

# Exclude certain, noisy warnings that lack full context. Replace with lowered severity if/when
# clangd gets diagnostic severity support. (See: https://github.com/clangd/clangd/issues/1937)
CompileFlags:
  Add:
    - -Wno-unneeded-internal-declaration
    - -Wno-unused-const-variable
    - -Wno-unused-function
    - -Wno-unused-variable

---

# Suppress warnings for third-party or partial code.

If:
  PathMatch:
    - bin/build_deps/.*
    - misc/dist/apple_embedded_xcode/.*
    - tests/compatibility_test/.*
    - thirdparty/.*
    - .*/thirdparty/.*
    - .*-so_wrap.[ch]

Diagnostics:
  Suppress: "*"
