forked from qt-creator/qt-creator
LanguageClient: always send the full list of workspaces at startup
Change-Id: I74203b7bc71982b0e6e347b004d48531a07069dc Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -292,13 +292,18 @@ void Client::initialize()
|
|||||||
InitializeParams params;
|
InitializeParams params;
|
||||||
params.setCapabilities(m_clientCapabilities);
|
params.setCapabilities(m_clientCapabilities);
|
||||||
params.setInitializationOptions(m_initializationOptions);
|
params.setInitializationOptions(m_initializationOptions);
|
||||||
if (m_project) {
|
if (m_project)
|
||||||
params.setRootUri(DocumentUri::fromFilePath(m_project->projectDirectory()));
|
params.setRootUri(DocumentUri::fromFilePath(m_project->projectDirectory()));
|
||||||
params.setWorkSpaceFolders(Utils::transform(SessionManager::projects(), [](Project *pro) {
|
|
||||||
|
const QList<WorkSpaceFolder> workspaces
|
||||||
|
= Utils::transform(SessionManager::projects(), [](Project *pro) {
|
||||||
return WorkSpaceFolder(DocumentUri::fromFilePath(pro->projectDirectory()),
|
return WorkSpaceFolder(DocumentUri::fromFilePath(pro->projectDirectory()),
|
||||||
pro->displayName());
|
pro->displayName());
|
||||||
}));
|
});
|
||||||
}
|
if (workspaces.isEmpty())
|
||||||
|
params.setWorkSpaceFolders(nullptr);
|
||||||
|
else
|
||||||
|
params.setWorkSpaceFolders(workspaces);
|
||||||
InitializeRequest initRequest(params);
|
InitializeRequest initRequest(params);
|
||||||
initRequest.setResponseCallback([this](const InitializeRequest::Response &initResponse){
|
initRequest.setResponseCallback([this](const InitializeRequest::Response &initResponse){
|
||||||
initializeCallback(initResponse);
|
initializeCallback(initResponse);
|
||||||
|
Reference in New Issue
Block a user