mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 18:49:00 +01:00
add proposed api for #10659
This commit is contained in:
@@ -21,7 +21,7 @@ import { ISelection } from 'vs/editor/common/core/selection';
|
||||
import * as htmlContent from 'vs/base/common/htmlContent';
|
||||
import { IRelativePattern } from 'vs/base/common/glob';
|
||||
import * as languageSelector from 'vs/editor/common/modes/languageSelector';
|
||||
import { WorkspaceEditDto, ResourceTextEditDto } from 'vs/workbench/api/node/extHost.protocol';
|
||||
import { WorkspaceEditDto, ResourceTextEditDto, ResourceFileEditDto } from 'vs/workbench/api/node/extHost.protocol';
|
||||
import { MarkerSeverity, IRelatedInformation, IMarkerData, MarkerTag } from 'vs/platform/markers/common/markers';
|
||||
import { ACTIVE_GROUP, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService';
|
||||
|
||||
@@ -273,7 +273,7 @@ export namespace WorkspaceEdit {
|
||||
const result: modes.WorkspaceEdit = {
|
||||
edits: []
|
||||
};
|
||||
for (const entry of value.entries()) {
|
||||
for (const entry of (value as types.WorkspaceEdit).allEntries()) {
|
||||
const [uri, uriOrEdits] = entry;
|
||||
if (Array.isArray(uriOrEdits)) {
|
||||
// text edits
|
||||
@@ -294,11 +294,11 @@ export namespace WorkspaceEdit {
|
||||
URI.revive((<ResourceTextEditDto>edit).resource),
|
||||
<types.TextEdit[]>(<ResourceTextEditDto>edit).edits.map(TextEdit.to)
|
||||
);
|
||||
// } else {
|
||||
// result.renameResource(
|
||||
// URI.revive((<ResourceFileEditDto>edit).oldUri),
|
||||
// URI.revive((<ResourceFileEditDto>edit).newUri)
|
||||
// );
|
||||
} else {
|
||||
result.renameFile(
|
||||
URI.revive((<ResourceFileEditDto>edit).oldUri),
|
||||
URI.revive((<ResourceFileEditDto>edit).newUri)
|
||||
);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -499,17 +499,17 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
|
||||
private _resourceEdits: { seq: number, from: URI, to: URI }[] = [];
|
||||
private _textEdits = new Map<string, { seq: number, uri: URI, edits: TextEdit[] }>();
|
||||
|
||||
// createResource(uri: vscode.Uri): void {
|
||||
// this.renameResource(undefined, uri);
|
||||
// }
|
||||
createFile(uri: vscode.Uri): void {
|
||||
this.renameFile(undefined, uri);
|
||||
}
|
||||
|
||||
// deleteResource(uri: vscode.Uri): void {
|
||||
// this.renameResource(uri, undefined);
|
||||
// }
|
||||
deleteFile(uri: vscode.Uri): void {
|
||||
this.renameFile(uri, undefined);
|
||||
}
|
||||
|
||||
// renameResource(from: vscode.Uri, to: vscode.Uri): void {
|
||||
// this._resourceEdits.push({ seq: this._seqPool++, from, to });
|
||||
// }
|
||||
renameFile(from: vscode.Uri, to: vscode.Uri): void {
|
||||
this._resourceEdits.push({ seq: this._seqPool++, from, to });
|
||||
}
|
||||
|
||||
// resourceEdits(): [vscode.Uri, vscode.Uri][] {
|
||||
// return this._resourceEdits.map(({ from, to }) => (<[vscode.Uri, vscode.Uri]>[from, to]));
|
||||
@@ -566,20 +566,19 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
|
||||
}
|
||||
|
||||
allEntries(): ([URI, TextEdit[]] | [URI, URI])[] {
|
||||
return this.entries();
|
||||
// // use the 'seq' the we have assigned when inserting
|
||||
// // the operation and use that order in the resulting
|
||||
// // array
|
||||
// const res: ([URI, TextEdit[]] | [URI, URI])[] = [];
|
||||
// this._textEdits.forEach(value => {
|
||||
// const { seq, uri, edits } = value;
|
||||
// res[seq] = [uri, edits];
|
||||
// });
|
||||
// this._resourceEdits.forEach(value => {
|
||||
// const { seq, from, to } = value;
|
||||
// res[seq] = [from, to];
|
||||
// });
|
||||
// return res;
|
||||
// use the 'seq' the we have assigned when inserting
|
||||
// the operation and use that order in the resulting
|
||||
// array
|
||||
const res: ([URI, TextEdit[]] | [URI, URI])[] = [];
|
||||
this._textEdits.forEach(value => {
|
||||
const { seq, uri, edits } = value;
|
||||
res[seq] = [uri, edits];
|
||||
});
|
||||
this._resourceEdits.forEach(value => {
|
||||
const { seq, from, to } = value;
|
||||
res[seq] = [from, to];
|
||||
});
|
||||
return res;
|
||||
}
|
||||
|
||||
get size(): number {
|
||||
|
||||
Reference in New Issue
Block a user