| # RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s |
| # Test initialize request parameters with rootUri |
| {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootUri":"test:///workspace","capabilities":{},"trace":"off"}} |
| # CHECK: "id": 0, |
| # CHECK-NEXT: "jsonrpc": "2.0", |
| # CHECK-NEXT: "result": { |
| # CHECK-NEXT: "capabilities": { |
| # CHECK-NEXT: "codeActionProvider": true, |
| # CHECK-NEXT: "completionProvider": { |
| # CHECK-NEXT: "allCommitCharacters": " \t()[]{}<>:;,+-/*%^&#?.=\"'|", |
| # CHECK-NEXT: "resolveProvider": false, |
| # CHECK-NEXT: "triggerCharacters": [ |
| # CHECK-NEXT: ".", |
| # CHECK-NEXT: ">", |
| # CHECK-NEXT: ":" |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "declarationProvider": true, |
| # CHECK-NEXT: "definitionProvider": true, |
| # CHECK-NEXT: "documentFormattingProvider": true, |
| # CHECK-NEXT: "documentHighlightProvider": true, |
| # CHECK-NEXT: "documentLinkProvider": { |
| # CHECK-NEXT: "resolveProvider": false |
| # CHECK-NEXT: } |
| # CHECK-NEXT: "documentOnTypeFormattingProvider": { |
| # CHECK-NEXT: "firstTriggerCharacter": "\n", |
| # CHECK-NEXT: "moreTriggerCharacter": [] |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "documentRangeFormattingProvider": true, |
| # CHECK-NEXT: "documentSymbolProvider": true, |
| # CHECK-NEXT: "executeCommandProvider": { |
| # CHECK-NEXT: "commands": [ |
| # CHECK-NEXT: "clangd.applyFix", |
| # CHECK-NEXT: "clangd.applyTweak" |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "hoverProvider": true, |
| # CHECK-NEXT: "referencesProvider": true, |
| # CHECK-NEXT: "renameProvider": true, |
| # CHECK-NEXT: "selectionRangeProvider": true, |
| # CHECK-NEXT: "semanticTokensProvider": { |
| # CHECK-NEXT: "documentProvider": { |
| # CHECK-NEXT: "edits": true |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "legend": { |
| # CHECK-NEXT: "tokenModifiers": [], |
| # CHECK-NEXT: "tokenTypes": [ |
| # CHECK-NEXT: "variable", |
| # CHECK: ] |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "rangeProvider": false |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "signatureHelpProvider": { |
| # CHECK-NEXT: "triggerCharacters": [ |
| # CHECK-NEXT: "(", |
| # CHECK-NEXT: "," |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "textDocumentSync": 2, |
| # CHECK-NEXT: "typeHierarchyProvider": true |
| # CHECK-NEXT: "workspaceSymbolProvider": true |
| # CHECK-NEXT: }, |
| # CHECK-NEXT: "serverInfo": { |
| # CHECK-NEXT: "name": "clangd", |
| # CHECK-NEXT: "version": "{{.*}}clangd version {{.*}}" |
| # CHECK-NEXT: } |
| # CHECK-NEXT: } |
| --- |
| {"jsonrpc":"2.0","id":3,"method":"shutdown"} |
| # CHECK: "id": 3, |
| # CHECK-NEXT: "jsonrpc": "2.0", |
| # CHECK-NEXT: "result": null |
| --- |
| {"jsonrpc":"2.0","method":"exit"} |