Author: Nathan Ridge Date: 2024-11-05T02:13:21-05:00 New Revision: 7de1eff7cff35481e4a502858c5e3ff21502b186
URL: https://github.com/llvm/llvm-project/commit/7de1eff7cff35481e4a502858c5e3ff21502b186 DIFF: https://github.com/llvm/llvm-project/commit/7de1eff7cff35481e4a502858c5e3ff21502b186.diff LOG: [clangd] Check for editsNearCursor client capability under experimental capabilities (#114699) This is done to support clients which only support adding custom (language-specific or server-specific) capabilities under 'experimental'. Fixes https://github.com/clangd/clangd/issues/2201 Added: Modified: clang-tools-extra/clangd/Protocol.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/Protocol.cpp b/clang-tools-extra/clangd/Protocol.cpp index 295ccd26a40454..761f96846d4538 100644 --- a/clang-tools-extra/clangd/Protocol.cpp +++ b/clang-tools-extra/clangd/Protocol.cpp @@ -504,6 +504,16 @@ bool fromJSON(const llvm::json::Value &Params, ClientCapabilities &R, P.field("offsetEncoding"))) return false; } + + if (auto *Experimental = O->getObject("experimental")) { + if (auto *TextDocument = Experimental->getObject("textDocument")) { + if (auto *Completion = TextDocument->getObject("completion")) { + if (auto EditsNearCursor = Completion->getBoolean("editsNearCursor")) + R.CompletionFixes |= *EditsNearCursor; + } + } + } + return true; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits