# RUN: clangd -compile_args_from=lsp -lit-test < %s 2> %t | FileCheck -strict-whitespace %s
# RUN: cat %t | FileCheck --check-prefix=ERR %s
# UNSUPPORTED: windows-gnu,windows-msvc
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}
---
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"compilationDatabaseChanges":{"/clangd-test/foo.c": {"workingDirectory":"/clangd-test", "compilationCommand": ["clang", "-c", "foo.c"]}}}}}
---
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"c","version":1,"text":"int main() { int i; return i; }"}}}
#      CHECK:  "method": "textDocument/publishDiagnostics",
# CHECK-NEXT:  "params": {
# CHECK-NEXT:    "diagnostics": [],
# CHECK-NEXT:    "uri": "file://{{.*}}/foo.c"
# CHECK-NEXT:  }
---
{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///bar.c","languageId":"c","version":1,"text":"int main() { int i; return i; }"}}}
#      CHECK:  "method": "textDocument/publishDiagnostics",
# CHECK-NEXT:  "params": {
# CHECK-NEXT:    "diagnostics": [],
# CHECK-NEXT:    "uri": "file://{{.*}}/bar.c"
# CHECK-NEXT:  }
---
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"compilationDatabaseChanges":{"/clangd-test/foo.c": {"workingDirectory":"/clangd-test2", "compilationCommand": ["clang", "-c", "foo.c", "-Wall", "-Werror"]}}}}}
#      CHECK:  "method": "textDocument/publishDiagnostics",
# CHECK-NEXT:  "params": {
# CHECK-NEXT:    "diagnostics": [
# CHECK-NEXT:      {
# CHECK-NEXT:        "message": "Variable 'i' is uninitialized when used here (fix available)",
# CHECK-NEXT:        "range": {
# CHECK-NEXT:          "end": {
# CHECK-NEXT:            "character": 28,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          },
# CHECK-NEXT:          "start": {
# CHECK-NEXT:            "character": 27,
# CHECK-NEXT:            "line": 0
# CHECK-NEXT:          }
# CHECK-NEXT:        },
# CHECK-NEXT:        "severity": 1
# CHECK-NEXT:      }
# CHECK-NEXT:    ],
# CHECK-NEXT:    "uri": "file://{{.*}}/foo.c"
# CHECK-NEXT:  }
#
# ERR: Updating file {{.*}}foo.c with command [{{.*}}clangd-test2] clang -c foo.c -Wall -Werror
# Don't reparse the second file:
# ERR: Skipping rebuild of the AST for {{.*}}bar.c
---
{"jsonrpc":"2.0","id":5,"method":"shutdown"}
---
{"jsonrpc":"2.0","method":"exit"}


