diff options
author | Sam McCall <sam.mccall@gmail.com> | 2017-11-07 15:49:35 +0000 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2017-11-07 15:49:35 +0000 |
commit | 140714e69687cbe97191a4e38fb3bcb049b63958 (patch) | |
tree | 3f88270f0f79707fec602d007cb30a69495fbaf0 | |
parent | 2c8c163f829100ba9f9ab3ae85c7f364ad75d1ac (diff) |
[clangd] Fix initialize capabilities response
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@317584 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | clangd/ClangdLSPServer.cpp | 50 | ||||
-rw-r--r-- | test/clangd/initialize-params-invalid.test | 58 | ||||
-rw-r--r-- | test/clangd/initialize-params.test | 58 |
3 files changed, 86 insertions, 80 deletions
diff --git a/clangd/ClangdLSPServer.cpp b/clangd/ClangdLSPServer.cpp index e2169518..aa73e737 100644 --- a/clangd/ClangdLSPServer.cpp +++ b/clangd/ClangdLSPServer.cpp @@ -36,30 +36,32 @@ replacementsToEdits(StringRef Code, void ClangdLSPServer::onInitialize(Ctx C, InitializeParams &Params) { C.reply(json::obj{ - {"textDocumentSync", 1}, - {"documentFormattingProvider", true}, - {"documentRangeFormattingProvider", true}, - {"documentOnTypeFormattingProvider", - json::obj{ - {"firstTriggerCharacter", "}"}, - {"moreTriggerCharacter", {}}, - }}, - {"codeActionProvider", true}, - {"completionProvider", - json::obj{ - {"resolveProvider", false}, - {"triggerCharacters", {".", ">", ":"}}, - }}, - {"signatureHelpProvider", - json::obj{ - {"triggerCharacters", {"(", ","}}, - }}, - {"definitionProvider", true}, - {"executeCommandProvider", - json::obj{ - {"commands", {ExecuteCommandParams::CLANGD_APPLY_FIX_COMMAND}}, - }}, - }); + {{"capabilities", + json::obj{ + {"textDocumentSync", 1}, + {"documentFormattingProvider", true}, + {"documentRangeFormattingProvider", true}, + {"documentOnTypeFormattingProvider", + json::obj{ + {"firstTriggerCharacter", "}"}, + {"moreTriggerCharacter", {}}, + }}, + {"codeActionProvider", true}, + {"completionProvider", + json::obj{ + {"resolveProvider", false}, + {"triggerCharacters", {".", ">", ":"}}, + }}, + {"signatureHelpProvider", + json::obj{ + {"triggerCharacters", {"(", ","}}, + }}, + {"definitionProvider", true}, + {"executeCommandProvider", + json::obj{ + {"commands", {ExecuteCommandParams::CLANGD_APPLY_FIX_COMMAND}}, + }}, + }}}}); if (Params.rootUri && !Params.rootUri->file.empty()) Server.setRootPath(Params.rootUri->file); else if (Params.rootPath && !Params.rootPath->empty()) diff --git a/test/clangd/initialize-params-invalid.test b/test/clangd/initialize-params-invalid.test index 535dc2c0..9f9c69d1 100644 --- a/test/clangd/initialize-params-invalid.test +++ b/test/clangd/initialize-params-invalid.test @@ -8,34 +8,36 @@ Content-Length: 142 # CHECK: "id": 0,
# CHECK-NEXT: "jsonrpc": "2.0",
# CHECK-NEXT: "result": {
-# 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: "definitionProvider": true,
-# CHECK-NEXT: "documentFormattingProvider": true,
-# CHECK-NEXT: "documentOnTypeFormattingProvider": {
-# CHECK-NEXT: "firstTriggerCharacter": "}",
-# CHECK-NEXT: "moreTriggerCharacter": []
-# CHECK-NEXT: },
-# CHECK-NEXT: "documentRangeFormattingProvider": true,
-# CHECK-NEXT: "executeCommandProvider": {
-# CHECK-NEXT: "commands": [
-# CHECK-NEXT: "clangd.applyFix"
-# CHECK-NEXT: ]
-# CHECK-NEXT: },
-# CHECK-NEXT: "signatureHelpProvider": {
-# CHECK-NEXT: "triggerCharacters": [
-# CHECK-NEXT: "(",
-# CHECK-NEXT: ","
-# CHECK-NEXT: ]
-# CHECK-NEXT: },
-# CHECK-NEXT: "textDocumentSync": 1
+# 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: "definitionProvider": true,
+# CHECK-NEXT: "documentFormattingProvider": true,
+# CHECK-NEXT: "documentOnTypeFormattingProvider": {
+# CHECK-NEXT: "firstTriggerCharacter": "}",
+# CHECK-NEXT: "moreTriggerCharacter": []
+# CHECK-NEXT: },
+# CHECK-NEXT: "documentRangeFormattingProvider": true,
+# CHECK-NEXT: "executeCommandProvider": {
+# CHECK-NEXT: "commands": [
+# CHECK-NEXT: "clangd.applyFix"
+# CHECK-NEXT: ]
+# CHECK-NEXT: },
+# CHECK-NEXT: "signatureHelpProvider": {
+# CHECK-NEXT: "triggerCharacters": [
+# CHECK-NEXT: "(",
+# CHECK-NEXT: ","
+# CHECK-NEXT: ]
+# CHECK-NEXT: },
+# CHECK-NEXT: "textDocumentSync": 1
+# CHECK-NEXT: }
# CHECK-NEXT: }
Content-Length: 44
diff --git a/test/clangd/initialize-params.test b/test/clangd/initialize-params.test index af9b3d4e..60fc05ec 100644 --- a/test/clangd/initialize-params.test +++ b/test/clangd/initialize-params.test @@ -8,34 +8,36 @@ Content-Length: 143 # CHECK: "id": 0,
# CHECK-NEXT: "jsonrpc": "2.0",
# CHECK-NEXT: "result": {
-# 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: "definitionProvider": true,
-# CHECK-NEXT: "documentFormattingProvider": true,
-# CHECK-NEXT: "documentOnTypeFormattingProvider": {
-# CHECK-NEXT: "firstTriggerCharacter": "}",
-# CHECK-NEXT: "moreTriggerCharacter": []
-# CHECK-NEXT: },
-# CHECK-NEXT: "documentRangeFormattingProvider": true,
-# CHECK-NEXT: "executeCommandProvider": {
-# CHECK-NEXT: "commands": [
-# CHECK-NEXT: "clangd.applyFix"
-# CHECK-NEXT: ]
-# CHECK-NEXT: },
-# CHECK-NEXT: "signatureHelpProvider": {
-# CHECK-NEXT: "triggerCharacters": [
-# CHECK-NEXT: "(",
-# CHECK-NEXT: ","
-# CHECK-NEXT: ]
-# CHECK-NEXT: },
-# CHECK-NEXT: "textDocumentSync": 1
+# 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: "definitionProvider": true,
+# CHECK-NEXT: "documentFormattingProvider": true,
+# CHECK-NEXT: "documentOnTypeFormattingProvider": {
+# CHECK-NEXT: "firstTriggerCharacter": "}",
+# CHECK-NEXT: "moreTriggerCharacter": []
+# CHECK-NEXT: },
+# CHECK-NEXT: "documentRangeFormattingProvider": true,
+# CHECK-NEXT: "executeCommandProvider": {
+# CHECK-NEXT: "commands": [
+# CHECK-NEXT: "clangd.applyFix"
+# CHECK-NEXT: ]
+# CHECK-NEXT: },
+# CHECK-NEXT: "signatureHelpProvider": {
+# CHECK-NEXT: "triggerCharacters": [
+# CHECK-NEXT: "(",
+# CHECK-NEXT: ","
+# CHECK-NEXT: ]
+# CHECK-NEXT: },
+# CHECK-NEXT: "textDocumentSync": 1
+# CHECK-NEXT: }
# CHECK-NEXT: }
Content-Length: 44
|