================
@@ -497,6 +497,12 @@ bool fromJSON(const llvm::json::Value &Params, 
ClientCapabilities &R,
       if (auto Cancel = StaleRequestSupport->getBoolean("cancel"))
         R.CancelsStaleRequests = *Cancel;
     }
+    if (auto *OffsetEncoding = General->get("positionEncodings")) {
+      R.offsetEncoding.emplace();
+      if (!fromJSON(*OffsetEncoding, *R.offsetEncoding,
+                    P.field("general").field("positionEncodings")))
+        return false;
+    }
   }
   if (auto *OffsetEncoding = O->get("offsetEncoding")) {
     R.offsetEncoding.emplace();
----------------
kadircet wrote:

thanks, but I think just a simple log message here is sufficient, and we 
deliberately don't need more (neither the message shown, nor the new field).

- I don't think we should have 2 representations in the internal C++ 
representation, to make sure canonicalization happens at a single place and 
rest of the logic that relies on this option doesn't have visibility into both 
versions. Though we can call this field `PositionEncodings` now to align with 
the standard.
- Showing a message to user is too disruptive. It'll pop up on every startup. 
Moreover the user can't do anything to suppress that, extension author needs to 
take action.

https://github.com/llvm/llvm-project/pull/142903
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to