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

Reply via email to