122 lines · plain
1# RUN: clangd -lit-test < %s | FileCheck -strict-whitespace %s2# Test initialize request parameters with rootUri3{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootUri":"test:///workspace","capabilities":{},"trace":"off"}}4# CHECK: "id": 0,5# CHECK-NEXT: "jsonrpc": "2.0",6# CHECK-NEXT: "result": {7# CHECK-NEXT: "capabilities": {8# CHECK-NEXT: "astProvider": true,9# CHECK-NEXT: "callHierarchyProvider": true,10# CHECK-NEXT: "clangdInlayHintsProvider": true,11# CHECK-NEXT: "codeActionProvider": true,12# CHECK-NEXT: "compilationDatabase": {13# CHECK-NEXT: "automaticReload": true14# CHECK-NEXT: },15# CHECK-NEXT: "completionProvider": {16# CHECK-NEXT: "resolveProvider": false,17# CHECK-NEXT: "triggerCharacters": [18# CHECK-NEXT: ".",19# CHECK-NEXT: "<",20# CHECK-NEXT: ">",21# CHECK-NEXT: ":",22# CHECK-NEXT: "\"",23# CHECK-NEXT: "/",24# CHECK-NEXT: "*"25# CHECK-NEXT: ]26# CHECK-NEXT: },27# CHECK-NEXT: "declarationProvider": true,28# CHECK-NEXT: "definitionProvider": true,29# CHECK-NEXT: "documentFormattingProvider": true,30# CHECK-NEXT: "documentHighlightProvider": true,31# CHECK-NEXT: "documentLinkProvider": {32# CHECK-NEXT: "resolveProvider": false33# CHECK-NEXT: }34# CHECK-NEXT: "documentOnTypeFormattingProvider": {35# CHECK-NEXT: "firstTriggerCharacter": "\n",36# CHECK-NEXT: "moreTriggerCharacter": []37# CHECK-NEXT: },38# CHECK-NEXT: "documentRangeFormattingProvider": {39# CHECK-NEXT: "rangesSupport": true40# CHECK-NEXT: },41# CHECK-NEXT: "documentSymbolProvider": true,42# CHECK-NEXT: "executeCommandProvider": {43# CHECK-NEXT: "commands": [44# CHECK-NEXT: "clangd.applyFix",45# CHECK-NEXT: "clangd.applyRename"46# CHECK-NEXT: "clangd.applyTweak"47# CHECK-NEXT: ]48# CHECK-NEXT: },49# CHECK-NEXT: "foldingRangeProvider": true,50# CHECK-NEXT: "hoverProvider": true,51# CHECK-NEXT: "implementationProvider": true,52# CHECK-NEXT: "inactiveRegionsProvider": true,53# CHECK-NEXT: "inlayHintProvider": true,54# CHECK-NEXT: "memoryUsageProvider": true,55# CHECK-NEXT: "referencesProvider": true,56# CHECK-NEXT: "renameProvider": true,57# CHECK-NEXT: "selectionRangeProvider": true,58# CHECK-NEXT: "semanticTokensProvider": {59# CHECK-NEXT: "full": {60# CHECK-NEXT: "delta": true61# CHECK-NEXT: },62# CHECK-NEXT: "legend": {63# CHECK-NEXT: "tokenModifiers": [64# CHECK-NEXT: "declaration",65# CHECK-NEXT: "definition",66# CHECK-NEXT: "deprecated",67# CHECK-NEXT: "deduced",68# CHECK-NEXT: "readonly",69# CHECK-NEXT: "static",70# CHECK-NEXT: "abstract",71# CHECK-NEXT: "virtual",72# CHECK-NEXT: "dependentName",73# CHECK-NEXT: "defaultLibrary",74# CHECK-NEXT: "usedAsMutableReference",75# CHECK-NEXT: "usedAsMutablePointer",76# CHECK-NEXT: "constructorOrDestructor",77# CHECK-NEXT: "userDefined",78# CHECK-NEXT: "functionScope",79# CHECK-NEXT: "classScope",80# CHECK-NEXT: "fileScope",81# CHECK-NEXT: "globalScope"82# CHECK-NEXT: ],83# CHECK-NEXT: "tokenTypes": [84# CHECK-NEXT: "variable",85# CHECK: ]86# CHECK-NEXT: },87# CHECK-NEXT: "range": false88# CHECK-NEXT: },89# CHECK-NEXT: "signatureHelpProvider": {90# CHECK-NEXT: "triggerCharacters": [91# CHECK-NEXT: "(",92# CHECK-NEXT: ")",93# CHECK-NEXT: "{",94# CHECK-NEXT: "}",95# CHECK-NEXT: "<",96# CHECK-NEXT: ">"97# CHECK-NEXT: ","98# CHECK-NEXT: ]99# CHECK-NEXT: },100# CHECK-NEXT: "standardTypeHierarchyProvider": true,101# CHECK-NEXT: "textDocumentSync": {102# CHECK-NEXT: "change": 2,103# CHECK-NEXT: "openClose": true,104# CHECK-NEXT: "save": true105# CHECK-NEXT: },106# CHECK-NEXT: "typeDefinitionProvider": true,107# CHECK-NEXT: "typeHierarchyProvider": true108# CHECK-NEXT: "workspaceSymbolProvider": true109# CHECK-NEXT: },110# CHECK-NEXT: "serverInfo": {111# CHECK-NEXT: "name": "clangd",112# CHECK-NEXT: "version": "{{.*}}clangd version {{.*}}"113# CHECK-NEXT: }114# CHECK-NEXT: }115---116{"jsonrpc":"2.0","id":3,"method":"shutdown"}117# CHECK: "id": 3,118# CHECK-NEXT: "jsonrpc": "2.0",119# CHECK-NEXT: "result": null120---121{"jsonrpc":"2.0","method":"exit"}122