# We specify a custom path in XDG_CONFIG_HOME, which only works on some systems.
# UNSUPPORTED: system-windows
# UNSUPPORTED: system-darwin

# RUN: rm -rf %t
# RUN: mkdir -p %t/clangd

# Create a config file that injects a flag we can observe, and has an error.
# RUN: echo 'Foo: bar' > %t/clangd/config.yaml
# RUN: echo 'CompileFlags: {Add: -DFOO=BAR}' >> %t/clangd/config.yaml

# RUN: env XDG_CONFIG_HOME=%t clangd -lit-test -enable-config < %s | FileCheck -strict-whitespace %s

{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
---
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"c","text":"int x = FOO;"}}}
# First, the errors from the config file.
#      CHECK:  "method": "textDocument/publishDiagnostics",
# CHECK-NEXT:  "params": {
# CHECK-NEXT:    "diagnostics": [
# CHECK-NEXT:      {
# CHECK-NEXT:        "message": "Unknown Config key 'Foo'",
# CHECK-NEXT:        "range": {
# CHECK-NEXT:          "end": {
# CHECK-NEXT:            "character": 3,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          },
# CHECK-NEXT:          "start": {
# CHECK-NEXT:            "character": 0,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          }
# CHECK-NEXT:        },
# CHECK-NEXT:        "severity": 2,
# CHECK-NEXT:        "source": "clangd-config"
# CHECK-NEXT:      }
# CHECK-NEXT:    ],
# CHECK-NEXT:    "uri": "file://{{.*}}/config.yaml"
# CHECK-NEXT:  }
# Next, the error from the main file. BAR rather than FOO means we used config.
#      CHECK:  "method": "textDocument/publishDiagnostics",
# CHECK-NEXT:  "params": {
# CHECK-NEXT:    "diagnostics": [
# CHECK-NEXT:      {
# CHECK-NEXT:        "code": "undeclared_var_use",
# CHECK-NEXT:        "message": "Use of undeclared identifier 'BAR'",
# CHECK-NEXT:        "range": {
# CHECK-NEXT:          "end": {
# CHECK-NEXT:            "character": 11,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          },
# CHECK-NEXT:          "start": {
# CHECK-NEXT:            "character": 8,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          }
# CHECK-NEXT:        },
# CHECK-NEXT:        "severity": 1,
# CHECK-NEXT:        "source": "clang"
# CHECK-NEXT:      }
# CHECK-NEXT:    ],
# CHECK-NEXT:    "uri": "file://{{.*}}/foo.c",
# CHECK-NEXT:    "version": 0
# CHECK-NEXT:  }
---
{"jsonrpc":"2.0","id":4,"method":"shutdown"}
---
{"jsonrpc":"2.0","method":"exit"}
