first cut of proposed updateWorkspaceFolders API

This commit is contained in:
Benjamin Pasero
2018-01-22 12:45:11 +01:00
parent 752c7b7877
commit f963973eef
7 changed files with 186 additions and 13 deletions

View File

@@ -418,6 +418,9 @@ export function createApiFactory(
set name(value) {
throw errors.readonly();
},
updateWorkspaceFolders: proposedApiFunction(extension, (index, deleteCount, workspaceFoldersToAdd) => {
return extHostWorkspace.updateWorkspaceFolders(extension.displayName || extension.name, index, deleteCount, workspaceFoldersToAdd);
}),
onDidChangeWorkspaceFolders: function (listener, thisArgs?, disposables?) {
return extHostWorkspace.onDidChangeWorkspace(listener, thisArgs, disposables);
},

View File

@@ -364,6 +364,7 @@ export interface MainThreadWorkspaceShape extends IDisposable {
$startSearch(includePattern: string, includeFolder: string, excludePattern: string, maxResults: number, requestId: number): Thenable<UriComponents[]>;
$cancelSearch(requestId: number): Thenable<boolean>;
$saveAll(includeUntitled?: boolean): Thenable<boolean>;
$updateWorkspaceFolders(extensionName: string, index: number, deleteCount?: number, workspaceFoldersToAdd?: { uri: UriComponents, name?: string }[]): Thenable<boolean>;
}
export interface IFileChangeDto {

View File

@@ -86,6 +86,10 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape {
}
}
updateWorkspaceFolders(extensionName: string, index: number, deleteCount?: number, workspaceFoldersToAdd?: { uri: vscode.Uri, name?: string }[]): Thenable<boolean> {
return this._proxy.$updateWorkspaceFolders(extensionName, index, deleteCount, workspaceFoldersToAdd);
}
getWorkspaceFolder(uri: vscode.Uri, resolveParent?: boolean): vscode.WorkspaceFolder {
if (!this._workspace) {
return undefined;