# 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:        "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:      "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:      "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:  }
---
{"jsonrpc":"2.0","id":3,"method":"shutdown"}
#      CHECK:  "id": 3,
# CHECK-NEXT:  "jsonrpc": "2.0",
# CHECK-NEXT:  "result": null
---
{"jsonrpc":"2.0","method":"exit"}
