LanguageClient: move capabilities widget to inspector

The capabilities are not changeable for the user, but only there to
check whether a server is capable of a specific task. This will also
allow us to have more specialized settings widgets for specific servers
like for the java language server without the need to add the
capabilities to each of those special widgets.

Also add the dynamic capabilities to the widget so users have a complete
overview of the capabilities.

Change-Id: I9f2ed6ed11b458f0d4c67be3df632fd810023286
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2021-02-11 09:32:11 +01:00
parent c697b503e9
commit f9502a3ba6
8 changed files with 338 additions and 191 deletions

View File

@@ -108,13 +108,20 @@ void LanguageClientManager::clientStarted(Client *client)
}
if (!managerInstance->m_clients.contains(client)) {
managerInstance->m_clients << client;
connect(client, &Client::finished, managerInstance, [client](){
clientFinished(client);
});
connect(client, &Client::finished, managerInstance, [client]() { clientFinished(client); });
connect(client,
&Client::initialized,
&managerInstance->m_currentDocumentLocatorFilter,
&DocumentLocatorFilter::updateCurrentClient);
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();