40 lines · plain
1# RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s2# RUN: clangd -lit-test -pch-storage=memory < %s | FileCheck -strict-whitespace %s3{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}}4---5{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"int main() {}\n"}}}6---7{"jsonrpc":"2.0","id":1,"method":"textDocument/definition","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":0,"character":6}}}8# CHECK: "id": 1,9# CHECK-NEXT: "jsonrpc": "2.0",10# CHECK-NEXT: "result": [11# CHECK-NEXT: {12# CHECK-NEXT: "range": {13# CHECK-NEXT: "end": {14# CHECK-NEXT: "character": 8,15# CHECK-NEXT: "line": 016# CHECK-NEXT: },17# CHECK-NEXT: "start": {18# CHECK-NEXT: "character": 4,19# CHECK-NEXT: "line": 020# CHECK-NEXT: }21# CHECK-NEXT: },22# CHECK-NEXT: "uri": "file://{{.*}}/clangd-test/main.cpp"23# CHECK-NEXT: }24# CHECK-NEXT: ]25---26{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"textDocument":{"uri":"test:///main.cpp"},"contentChanges":[{"range":{"start":{"line":100,"character":0},"end":{"line":100,"character":0}},"text": "foo"}]}}27---28{"jsonrpc":"2.0","id":1,"method":"textDocument/definition","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":0,"character":6}}}29# CHECK: "error": {30# CHECK-NEXT: "code": -32602,31# CHECK-NEXT: "message": "trying to get AST for non-added document"32# CHECK-NEXT: },33# CHECK-NEXT: "id": 1,34# CHECK-NEXT: "jsonrpc": "2.0"35# CHECK-NEXT:}36---37{"jsonrpc":"2.0","id":4,"method":"shutdown"}38---39{"jsonrpc":"2.0","method":"exit"}40