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 <fabian.kosmale@qt.io>
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
This commit is contained in:
David Schulz
2024-06-21 15:45:20 +02:00
parent 99acc4440a
commit d8fa27cfbb
3 changed files with 10 additions and 2 deletions

View File

@@ -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;

View File

@@ -97,6 +97,7 @@ public:
QString serverName() const;
QString serverVersion() const;
const DynamicCapabilities &dynamicCapabilities() const;
DynamicCapabilities &dynamicCapabilities();
void registerCapabilities(const QList<LanguageServerProtocol::Registration> &registrations);
void unregisterCapabilities(const QList<LanguageServerProtocol::Unregistration> &unregistrations);

View File

@@ -3,6 +3,8 @@
#pragma once
#include "languageclient_global.h"
#include <languageserverprotocol/client.h>
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;