toWorkspaceFolders takes workspaceConfigPath

This commit is contained in:
Martin Aeschlimann
2019-04-16 16:01:30 +02:00
parent e5f694ebf8
commit 044c8ed8e1
7 changed files with 28 additions and 26 deletions

View File

@@ -181,8 +181,9 @@ export class WorkspaceService extends Disposable implements IConfigurationServic
if (foldersToAdd.length) {
// Recompute current workspace folders if we have folders to add
const workspaceConfigFolder = dirname(this.getWorkspace().configuration!);
currentWorkspaceFolders = toWorkspaceFolders(newStoredFolders, workspaceConfigFolder);
const workspaceConfigPath = this.getWorkspace().configuration!;
const workspaceConfigFolder = dirname(workspaceConfigPath);
currentWorkspaceFolders = toWorkspaceFolders(newStoredFolders, workspaceConfigPath);
const currentWorkspaceFolderUris = currentWorkspaceFolders.map(folder => folder.uri);
const storedFoldersToAdd: IStoredWorkspaceFolder[] = [];
@@ -329,7 +330,7 @@ export class WorkspaceService extends Disposable implements IConfigurationServic
return this.workspaceConfiguration.load({ id: workspaceIdentifier.id, configPath: workspaceIdentifier.configPath })
.then(() => {
const workspaceConfigPath = workspaceIdentifier.configPath;
const workspaceFolders = toWorkspaceFolders(this.workspaceConfiguration.getFolders(), dirname(workspaceConfigPath));
const workspaceFolders = toWorkspaceFolders(this.workspaceConfiguration.getFolders(), workspaceConfigPath);
const workspaceId = workspaceIdentifier.id;
const workspace = new Workspace(workspaceId, workspaceFolders, workspaceConfigPath);
if (this.workspaceConfiguration.loaded) {
@@ -549,7 +550,7 @@ export class WorkspaceService extends Disposable implements IConfigurationServic
private onWorkspaceConfigurationChanged(): Promise<void> {
if (this.workspace && this.workspace.configuration && this._configuration) {
const workspaceConfigurationChangeEvent = this._configuration.compareAndUpdateWorkspaceConfiguration(this.workspaceConfiguration.getConfiguration());
let configuredFolders = toWorkspaceFolders(this.workspaceConfiguration.getFolders(), dirname(this.workspace.configuration));
let configuredFolders = toWorkspaceFolders(this.workspaceConfiguration.getFolders(), this.workspace.configuration);
const changes = this.compareFolders(this.workspace.folders, configuredFolders);
if (changes.added.length || changes.removed.length || changes.changed.length) {
this.workspace.folders = configuredFolders;