LanguageClient: always connect client to manager

The client will be either freshly created or if it was restarted
disconnected in LanguageClientManager::clientFinished

Change-Id: I647d0aaa918419c328013b2dc978d345f7e09c32
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
David Schulz
2021-08-13 14:40:41 +02:00
parent 20eaf0bbeb
commit 341234f3cf

View File

@@ -110,23 +110,23 @@ void LanguageClientManager::clientStarted(Client *client)
clientFinished(client);
return;
}
if (!managerInstance->m_clients.contains(client)) {
if (!managerInstance->m_clients.contains(client))
managerInstance->m_clients << client;
connect(client, &Client::finished, managerInstance, [client]() { clientFinished(client); });
connect(client,
&Client::initialized,
managerInstance,
[client](const LanguageServerProtocol::ServerCapabilities &capabilities) {
managerInstance->m_currentDocumentLocatorFilter.updateCurrentClient();
managerInstance->m_inspector.clientInitialized(client->name(), capabilities);
});
connect(client,
&Client::capabilitiesChanged,
managerInstance,
[client](const DynamicCapabilities &capabilities) {
managerInstance->m_inspector.updateCapabilities(client->name(), capabilities);
});
}
connect(client, &Client::finished, managerInstance, [client]() { clientFinished(client); });
connect(client,
&Client::initialized,
managerInstance,
[client](const LanguageServerProtocol::ServerCapabilities &capabilities) {
managerInstance->m_currentDocumentLocatorFilter.updateCurrentClient();
managerInstance->m_inspector.clientInitialized(client->name(), capabilities);
});
connect(client,
&Client::capabilitiesChanged,
managerInstance,
[client](const DynamicCapabilities &capabilities) {
managerInstance->m_inspector.updateCapabilities(client->name(), capabilities);
});
client->initialize();
}