From d8fa27cfbbdeb2980c75cdbe7e4da92593f81bad Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 21 Jun 2024 15:45:20 +0200 Subject: [PATCH] LanguageClient: Fix and export DynamicCapabilities This is useful to explicitly disable specific functionality from code in the case were the server reports capabilities we know are not stable or not usable. Change-Id: Iba1701c59258da6f30f32c33b477f3a650387491 Reviewed-by: Fabian Kosmale Reviewed-by: Semih Yavuz --- src/plugins/languageclient/client.cpp | 5 +++++ src/plugins/languageclient/client.h | 1 + src/plugins/languageclient/dynamiccapabilities.h | 6 ++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 2ec4d41dbf3..412430171dc 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -1789,6 +1789,11 @@ const DynamicCapabilities &Client::dynamicCapabilities() const return d->m_dynamicCapabilities; } +DynamicCapabilities &Client::dynamicCapabilities() +{ + return d->m_dynamicCapabilities; +} + DocumentSymbolCache *Client::documentSymbolCache() { return &d->m_documentSymbolCache; diff --git a/src/plugins/languageclient/client.h b/src/plugins/languageclient/client.h index c80e458a472..28360c71a6f 100644 --- a/src/plugins/languageclient/client.h +++ b/src/plugins/languageclient/client.h @@ -97,6 +97,7 @@ public: QString serverName() const; QString serverVersion() const; const DynamicCapabilities &dynamicCapabilities() const; + DynamicCapabilities &dynamicCapabilities(); void registerCapabilities(const QList ®istrations); void unregisterCapabilities(const QList &unregistrations); diff --git a/src/plugins/languageclient/dynamiccapabilities.h b/src/plugins/languageclient/dynamiccapabilities.h index 076d578d8f3..13f8be74a6f 100644 --- a/src/plugins/languageclient/dynamiccapabilities.h +++ b/src/plugins/languageclient/dynamiccapabilities.h @@ -3,6 +3,8 @@ #pragma once +#include "languageclient_global.h" + #include namespace LanguageClient { @@ -21,7 +23,7 @@ public: void disable() { - m_enabled = true; + m_enabled = false; m_id.clear(); m_options = QJsonValue(); } @@ -37,7 +39,7 @@ private: }; -class DynamicCapabilities +class LANGUAGECLIENT_EXPORT DynamicCapabilities { public: DynamicCapabilities() = default;