LanguageClient: always set client capabilities

Not just if a project is currently set.

Change-Id: I07b19695464025a9d039364ff1611aa39e8e1a9b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-05-15 14:55:55 +02:00
parent c238fc88b1
commit 10611f2af9

View File

@@ -219,16 +219,15 @@ void Client::initialize()
QTC_ASSERT(m_state == Uninitialized, return);
qCDebug(LOGLSPCLIENT) << "initializing language server " << m_displayName;
auto initRequest = new InitializeRequest();
auto params = initRequest->params().value_or(InitializeParams());
params.setCapabilities(generateClientCapabilities());
if (m_project) {
auto params = initRequest->params().value_or(InitializeParams());
params.setCapabilities(generateClientCapabilities());
params.setRootUri(DocumentUri::fromFileName(m_project->projectDirectory()));
initRequest->setParams(params);
params.setWorkSpaceFolders(Utils::transform(SessionManager::projects(), [](Project *pro){
return WorkSpaceFolder(pro->projectDirectory().toString(), pro->displayName());
}));
initRequest->setParams(params);
}
initRequest->setParams(params);
initRequest->setResponseCallback([this](const InitializeRequest::Response &initResponse){
intializeCallback(initResponse);
});