forked from qt-creator/qt-creator
LSP: support WorkDoneProgressOptions in server capabilities
These options indicate whether a server provides extra messages to track the status of specific requests. Change-Id: I3fb78f7fa7144a5a9418b32cb5b33d55b668c484 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -46,7 +46,7 @@ template<typename Request>
|
||||
static void sendTextDocumentPositionParamsRequest(Client *client,
|
||||
const Request &request,
|
||||
const DynamicCapabilities &dynamicCapabilities,
|
||||
const Utils::optional<bool> &serverCapability)
|
||||
const ServerCapabilities &serverCapability)
|
||||
{
|
||||
if (!request.isValid(nullptr))
|
||||
return;
|
||||
@@ -62,7 +62,11 @@ static void sendTextDocumentPositionParamsRequest(Client *client,
|
||||
else
|
||||
sendMessage = supportedFile;
|
||||
} else {
|
||||
sendMessage = serverCapability.value_or(sendMessage) && supportedFile;
|
||||
const Utils::optional<Utils::variant<bool, WorkDoneProgressOptions>> &provider
|
||||
= serverCapability.referencesProvider();
|
||||
sendMessage = provider.has_value();
|
||||
if (sendMessage && Utils::holds_alternative<bool>(*provider))
|
||||
sendMessage = Utils::get<bool>(*provider);
|
||||
}
|
||||
if (sendMessage)
|
||||
client->sendContent(request);
|
||||
@@ -121,7 +125,7 @@ void SymbolSupport::findLinkAt(TextEditor::TextDocument *document,
|
||||
sendTextDocumentPositionParamsRequest(m_client,
|
||||
request,
|
||||
m_client->dynamicCapabilities(),
|
||||
m_client->capabilities().referencesProvider());
|
||||
m_client->capabilities());
|
||||
|
||||
}
|
||||
|
||||
@@ -230,7 +234,7 @@ void SymbolSupport::findUsages(TextEditor::TextDocument *document, const QTextCu
|
||||
sendTextDocumentPositionParamsRequest(m_client,
|
||||
request,
|
||||
m_client->dynamicCapabilities(),
|
||||
m_client->capabilities().referencesProvider());
|
||||
m_client->capabilities());
|
||||
}
|
||||
|
||||
static bool supportsRename(Client *client,
|
||||
|
||||
Reference in New Issue
Block a user