| # RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s |
| # Start a session. |
| { |
| "jsonrpc": "2.0", |
| "id": 0, |
| "method": "initialize", |
| "params": { |
| "processId": 123, |
| "rootPath": "clangd", |
| "capabilities": { |
| "textDocument": { |
| "signatureHelp": { |
| "signatureInformation": { |
| "parameterInformation": { |
| "labelOffsetSupport": true |
| } |
| } |
| } |
| } |
| }, |
| "trace": "off" |
| } |
| } |
| --- |
| {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///main.cpp","languageId":"cpp","version":1,"text":"void x(int);\nint main(){\nx("}}} |
| --- |
| {"jsonrpc":"2.0","id":1,"method":"textDocument/signatureHelp","params":{"textDocument":{"uri":"test:///main.cpp"},"position":{"line":2,"character":2}}} |
| # CHECK: "id": 1, |
| # CHECK-NEXT: "jsonrpc": "2.0", |
| # CHECK-NEXT: "result": { |
| # CHECK-NEXT: "activeParameter": 0, |
| # CHECK-NEXT: "activeSignature": 0, |
| # CHECK-NEXT: "signatures": [ |
| # CHECK-NEXT: { |
| # CHECK-NEXT: "label": "x(int) -> void", |
| # CHECK-NEXT: "parameters": [ |
| # CHECK-NEXT: { |
| # CHECK-NEXT: "label": [ |
| # CHECK-NEXT: 2, |
| # CHECK-NEXT: 5 |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: } |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: } |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: } |
| --- |
| {"jsonrpc":"2.0","id":100000,"method":"shutdown"} |
| --- |
| {"jsonrpc":"2.0","method":"exit"} |