forked from qt-creator/qt-creator
LanguageClient: update dynamic capabilities just once
Change-Id: I7149f581e55a25672dce44abc751912e02271135 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -665,16 +665,15 @@ void Client::documentContentsChanged(TextEditor::TextDocument *document,
|
|||||||
void Client::registerCapabilities(const QList<Registration> ®istrations)
|
void Client::registerCapabilities(const QList<Registration> ®istrations)
|
||||||
{
|
{
|
||||||
m_dynamicCapabilities.registerCapability(registrations);
|
m_dynamicCapabilities.registerCapability(registrations);
|
||||||
auto methodRegistered = [&](const QString &method) {
|
for (const Registration ®istration : registrations) {
|
||||||
return Utils::anyOf(registrations, Utils::equal(&Registration::method, method));
|
if (registration.method() == CompletionRequest::methodName) {
|
||||||
};
|
for (auto document : m_openedDocument.keys())
|
||||||
if (methodRegistered(CompletionRequest::methodName)) {
|
updateCompletionProvider(document);
|
||||||
for (auto document : m_openedDocument.keys())
|
}
|
||||||
updateCompletionProvider(document);
|
if (registration.method() == SignatureHelpRequest::methodName) {
|
||||||
}
|
for (auto document : m_openedDocument.keys())
|
||||||
if (methodRegistered(SignatureHelpRequest::methodName)) {
|
updateFunctionHintProvider(document);
|
||||||
for (auto document : m_openedDocument.keys())
|
}
|
||||||
updateFunctionHintProvider(document);
|
|
||||||
}
|
}
|
||||||
emit capabilitiesChanged(m_dynamicCapabilities);
|
emit capabilitiesChanged(m_dynamicCapabilities);
|
||||||
}
|
}
|
||||||
@@ -682,6 +681,16 @@ void Client::registerCapabilities(const QList<Registration> ®istrations)
|
|||||||
void Client::unregisterCapabilities(const QList<Unregistration> &unregistrations)
|
void Client::unregisterCapabilities(const QList<Unregistration> &unregistrations)
|
||||||
{
|
{
|
||||||
m_dynamicCapabilities.unregisterCapability(unregistrations);
|
m_dynamicCapabilities.unregisterCapability(unregistrations);
|
||||||
|
for (const Unregistration &unregistration : unregistrations) {
|
||||||
|
if (unregistration.method() == CompletionRequest::methodName) {
|
||||||
|
for (auto document : m_openedDocument.keys())
|
||||||
|
updateCompletionProvider(document);
|
||||||
|
}
|
||||||
|
if (unregistration.method() == SignatureHelpRequest::methodName) {
|
||||||
|
for (auto document : m_openedDocument.keys())
|
||||||
|
updateFunctionHintProvider(document);
|
||||||
|
}
|
||||||
|
}
|
||||||
emit capabilitiesChanged(m_dynamicCapabilities);
|
emit capabilitiesChanged(m_dynamicCapabilities);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user