Skip to content

Commit 2982c62

Browse files
committed
bulk - some renames and some polish
1 parent f8a19b5 commit 2982c62

12 files changed

Lines changed: 67 additions & 57 deletions

File tree

src/vs/editor/common/modes.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,31 +1240,41 @@ export class FoldingRangeKind {
12401240
/**
12411241
* @internal
12421242
*/
1243-
export function isResourceFileEdit(thing: any): thing is ResourceFileEdit {
1244-
return isObject(thing) && (Boolean((<ResourceFileEdit>thing).newUri) || Boolean((<ResourceFileEdit>thing).oldUri));
1243+
export namespace WorkspaceFileEdit {
1244+
/**
1245+
* @internal
1246+
*/
1247+
export function is(thing: any): thing is WorkspaceFileEdit {
1248+
return isObject(thing) && (Boolean((<WorkspaceFileEdit>thing).newUri) || Boolean((<WorkspaceFileEdit>thing).oldUri));
1249+
}
12451250
}
12461251

12471252
/**
12481253
* @internal
12491254
*/
1250-
export function isResourceTextEdit(thing: any): thing is ResourceTextEdit {
1251-
return isObject(thing) && (<ResourceTextEdit>thing).resource && Array.isArray((<ResourceTextEdit>thing).edits);
1255+
export namespace WorkspaceTextEdit {
1256+
/**
1257+
* @internal
1258+
*/
1259+
export function is(thing: any): thing is WorkspaceTextEdit {
1260+
return isObject(thing) && (<WorkspaceTextEdit>thing).resource && Array.isArray((<WorkspaceTextEdit>thing).edits);
1261+
}
12521262
}
12531263

1254-
export interface ResourceFileEdit {
1264+
export interface WorkspaceFileEdit {
12551265
oldUri?: URI;
12561266
newUri?: URI;
12571267
options?: { overwrite?: boolean, ignoreIfNotExists?: boolean, ignoreIfExists?: boolean, recursive?: boolean };
12581268
}
12591269

1260-
export interface ResourceTextEdit {
1270+
export interface WorkspaceTextEdit {
12611271
resource: URI;
12621272
modelVersionId?: number;
12631273
edits: TextEdit[];
12641274
}
12651275

12661276
export interface WorkspaceEdit {
1267-
edits: Array<ResourceTextEdit | ResourceFileEdit>;
1277+
edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
12681278
}
12691279

12701280
export interface Rejection {

src/vs/editor/contrib/codeAction/test/codeAction.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ suite('CodeAction', () => {
6969
bcd: {
7070
diagnostics: <IMarkerData[]>[],
7171
edit: new class implements modes.WorkspaceEdit {
72-
edits!: modes.ResourceTextEdit[];
72+
edits!: modes.WorkspaceTextEdit[];
7373
},
7474
title: 'abc'
7575
}

src/vs/editor/standalone/browser/simpleServices.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { IPosition, Position as Pos } from 'vs/editor/common/core/position';
2020
import { Range } from 'vs/editor/common/core/range';
2121
import { IEditor } from 'vs/editor/common/editorCommon';
2222
import { ITextModel, ITextSnapshot } from 'vs/editor/common/model';
23-
import { TextEdit, WorkspaceEdit, isResourceTextEdit } from 'vs/editor/common/modes';
23+
import { TextEdit, WorkspaceEdit, WorkspaceTextEdit } from 'vs/editor/common/modes';
2424
import { IModelService } from 'vs/editor/common/services/modelService';
2525
import { IResolvedTextEditorModel, ITextModelContentProvider, ITextModelService } from 'vs/editor/common/services/resolverService';
2626
import { ITextResourceConfigurationService, ITextResourcePropertiesService, ITextResourceConfigurationChangeEvent } from 'vs/editor/common/services/textResourceConfigurationService';
@@ -645,7 +645,7 @@ export class SimpleBulkEditService implements IBulkEditService {
645645

646646
if (workspaceEdit.edits) {
647647
for (let edit of workspaceEdit.edits) {
648-
if (!isResourceTextEdit(edit)) {
648+
if (!WorkspaceTextEdit.is(edit)) {
649649
return Promise.reject(new Error('bad edit - only text edits are supported'));
650650
}
651651
let model = this._modelService.getModel(edit.resource);

src/vs/monaco.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5874,7 +5874,7 @@ declare namespace monaco.languages {
58745874
constructor(value: string);
58755875
}
58765876

5877-
export interface ResourceFileEdit {
5877+
export interface WorkspaceFileEdit {
58785878
oldUri?: Uri;
58795879
newUri?: Uri;
58805880
options?: {
@@ -5885,14 +5885,14 @@ declare namespace monaco.languages {
58855885
};
58865886
}
58875887

5888-
export interface ResourceTextEdit {
5888+
export interface WorkspaceTextEdit {
58895889
resource: Uri;
58905890
modelVersionId?: number;
58915891
edits: TextEdit[];
58925892
}
58935893

58945894
export interface WorkspaceEdit {
5895-
edits: Array<ResourceTextEdit | ResourceFileEdit>;
5895+
edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
58965896
}
58975897

58985898
export interface Rejection {

src/vs/workbench/contrib/bulkEdit/browser/bulkEditPreview.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { URI } from 'vs/base/common/uri';
88
import { IModeService } from 'vs/editor/common/services/modeService';
99
import { IModelService } from 'vs/editor/common/services/modelService';
1010
import { createTextBufferFactoryFromSnapshot } from 'vs/editor/common/model/textModel';
11-
import { WorkspaceEdit, isResourceTextEdit, TextEdit, ResourceTextEdit, ResourceFileEdit } from 'vs/editor/common/modes';
11+
import { WorkspaceEdit, TextEdit, WorkspaceTextEdit, WorkspaceFileEdit } from 'vs/editor/common/modes';
1212
import { DisposableStore } from 'vs/base/common/lifecycle';
1313
import { mergeSort, coalesceInPlace } from 'vs/base/common/arrays';
1414
import { Range } from 'vs/editor/common/core/range';
@@ -59,7 +59,7 @@ export class BulkFileOperation extends CheckedObject {
5959

6060
type: BulkFileOperationType = 0;
6161
textEdits: BulkTextEdit[] = [];
62-
originalEdits = new Map<number, ResourceTextEdit | ResourceFileEdit>();
62+
originalEdits = new Map<number, WorkspaceTextEdit | WorkspaceFileEdit>();
6363
newUri?: URI;
6464

6565
constructor(
@@ -69,10 +69,10 @@ export class BulkFileOperation extends CheckedObject {
6969
super(parent._onDidChangeCheckedState);
7070
}
7171

72-
addEdit(index: number, type: BulkFileOperationType, edit: ResourceTextEdit | ResourceFileEdit, ) {
72+
addEdit(index: number, type: BulkFileOperationType, edit: WorkspaceTextEdit | WorkspaceFileEdit, ) {
7373
this.type += type;
7474
this.originalEdits.set(index, edit);
75-
if (isResourceTextEdit(edit)) {
75+
if (WorkspaceTextEdit.is(edit)) {
7676
this.textEdits = this.textEdits.concat(edit.edits.map(edit => new BulkTextEdit(this, edit, this._emitter)));
7777

7878
} else if (type === BulkFileOperationType.Rename) {
@@ -117,7 +117,7 @@ export class BulkFileOperations {
117117
let uri: URI;
118118
let type: BulkFileOperationType;
119119

120-
if (isResourceTextEdit(edit)) {
120+
if (WorkspaceTextEdit.is(edit)) {
121121
type = BulkFileOperationType.TextEdit;
122122
uri = edit.resource;
123123

@@ -194,8 +194,8 @@ export class BulkFileOperations {
194194

195195
file.originalEdits.forEach((value, idx) => {
196196

197-
if (isResourceTextEdit(value)) {
198-
let newValue: ResourceTextEdit = { ...value, edits: [] };
197+
if (WorkspaceTextEdit.is(value)) {
198+
let newValue: WorkspaceTextEdit = { ...value, edits: [] };
199199
let allEditsAccepted = true;
200200
for (let edit of value.edits) {
201201
if (!checkedEdits.has(keyOfEdit(edit))) {

src/vs/workbench/contrib/search/browser/replaceService.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
1818
import { ScrollType } from 'vs/editor/common/editorCommon';
1919
import { ITextModel, IIdentifiedSingleEditOperation } from 'vs/editor/common/model';
2020
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
21-
import { ResourceTextEdit } from 'vs/editor/common/modes';
21+
import { WorkspaceTextEdit } from 'vs/editor/common/modes';
2222
import { createTextBufferFactoryFromSnapshot } from 'vs/editor/common/model/textModel';
2323
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
2424
import { IBulkEditService } from 'vs/editor/browser/services/bulkEditService';
@@ -101,7 +101,7 @@ export class ReplaceService implements IReplaceService {
101101
replace(files: FileMatch[], progress?: IProgress<IProgressStep>): Promise<any>;
102102
replace(match: FileMatchOrMatch, progress?: IProgress<IProgressStep>, resource?: URI): Promise<any>;
103103
async replace(arg: any, progress: IProgress<IProgressStep> | undefined = undefined, resource: URI | null = null): Promise<any> {
104-
const edits: ResourceTextEdit[] = this.createEdits(arg, resource);
104+
const edits: WorkspaceTextEdit[] = this.createEdits(arg, resource);
105105
await this.bulkEditorService.apply({ edits }, { progress });
106106

107107
return Promise.all(edits.map(e => {
@@ -173,8 +173,8 @@ export class ReplaceService implements IReplaceService {
173173
replaceModel.pushEditOperations([], mergeSort(modelEdits, (a, b) => Range.compareRangesUsingStarts(a.range, b.range)), () => []);
174174
}
175175

176-
private createEdits(arg: FileMatchOrMatch | FileMatch[], resource: URI | null = null): ResourceTextEdit[] {
177-
const edits: ResourceTextEdit[] = [];
176+
private createEdits(arg: FileMatchOrMatch | FileMatch[], resource: URI | null = null): WorkspaceTextEdit[] {
177+
const edits: WorkspaceTextEdit[] = [];
178178

179179
if (arg instanceof Match) {
180180
const match = <Match>arg;
@@ -197,9 +197,9 @@ export class ReplaceService implements IReplaceService {
197197
return edits;
198198
}
199199

200-
private createEdit(match: Match, text: string, resource: URI | null = null): ResourceTextEdit {
200+
private createEdit(match: Match, text: string, resource: URI | null = null): WorkspaceTextEdit {
201201
const fileMatch: FileMatch = match.parent();
202-
const resourceEdit: ResourceTextEdit = {
202+
const resourceEdit: WorkspaceTextEdit = {
203203
resource: resource !== null ? resource : fileMatch.resource,
204204
edits: [{
205205
range: match.range(),

src/vs/workbench/services/bulkEdit/browser/bulkEditService.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { IBulkEditOptions, IBulkEditResult, IBulkEditService, IBulkEditPreviewHa
1111
import { EditOperation } from 'vs/editor/common/core/editOperation';
1212
import { Range } from 'vs/editor/common/core/range';
1313
import { EndOfLineSequence, IIdentifiedSingleEditOperation, ITextModel } from 'vs/editor/common/model';
14-
import { isResourceFileEdit, isResourceTextEdit, ResourceFileEdit, ResourceTextEdit, WorkspaceEdit } from 'vs/editor/common/modes';
14+
import { WorkspaceFileEdit, WorkspaceTextEdit, WorkspaceEdit } from 'vs/editor/common/modes';
1515
import { IModelService } from 'vs/editor/common/services/modelService';
1616
import { ITextModelService, IResolvedTextEditorModel } from 'vs/editor/common/services/resolverService';
1717
import { localize } from 'vs/nls';
@@ -47,7 +47,7 @@ class ModelEditTask implements IDisposable {
4747
this._modelReference.dispose();
4848
}
4949

50-
addEdit(resourceEdit: ResourceTextEdit): void {
50+
addEdit(resourceEdit: WorkspaceTextEdit): void {
5151
this._expectedModelVersionId = resourceEdit.modelVersionId;
5252
for (const edit of resourceEdit.edits) {
5353
if (typeof edit.eol === 'number') {
@@ -124,13 +124,13 @@ class EditorEditTask extends ModelEditTask {
124124

125125
class BulkEditModel implements IDisposable {
126126

127-
private _edits = new Map<string, ResourceTextEdit[]>();
127+
private _edits = new Map<string, WorkspaceTextEdit[]>();
128128
private _tasks: ModelEditTask[] | undefined;
129129

130130
constructor(
131131
private readonly _editor: ICodeEditor | undefined,
132132
private readonly _progress: IProgress<void>,
133-
edits: ResourceTextEdit[],
133+
edits: WorkspaceTextEdit[],
134134
@IEditorWorkerService private readonly _editorWorker: IEditorWorkerService,
135135
@ITextModelService private readonly _textModelResolverService: ITextModelService,
136136
) {
@@ -143,7 +143,7 @@ class BulkEditModel implements IDisposable {
143143
}
144144
}
145145

146-
private _addEdit(edit: ResourceTextEdit): void {
146+
private _addEdit(edit: WorkspaceTextEdit): void {
147147
let array = this._edits.get(edit.resource.toString());
148148
if (!array) {
149149
array = [];
@@ -217,7 +217,7 @@ class BulkEditModel implements IDisposable {
217217
}
218218
}
219219

220-
type Edit = ResourceFileEdit | ResourceTextEdit;
220+
type Edit = WorkspaceFileEdit | WorkspaceTextEdit;
221221

222222
class BulkEdit {
223223

@@ -243,7 +243,7 @@ class BulkEdit {
243243
}
244244

245245
ariaMessage(): string {
246-
const editCount = this._edits.reduce((prev, cur) => isResourceFileEdit(cur) ? prev : prev + cur.edits.length, 0);
246+
const editCount = this._edits.reduce((prev, cur) => WorkspaceFileEdit.is(cur) ? prev : prev + cur.edits.length, 0);
247247
const resourceCount = this._edits.length;
248248
if (editCount === 0) {
249249
return localize('summary.0', "Made no edits");
@@ -263,15 +263,15 @@ class BulkEdit {
263263
let group: Edit[] | undefined;
264264
for (const edit of this._edits) {
265265
if (!group
266-
|| (isResourceFileEdit(group[0]) && !isResourceFileEdit(edit))
267-
|| (isResourceTextEdit(group[0]) && !isResourceTextEdit(edit))
266+
|| (WorkspaceFileEdit.is(group[0]) && !WorkspaceFileEdit.is(edit))
267+
|| (WorkspaceTextEdit.is(group[0]) && !WorkspaceTextEdit.is(edit))
268268
) {
269269
group = [];
270270
groups.push(group);
271271
}
272272
group.push(edit);
273273

274-
if (isResourceFileEdit(edit)) {
274+
if (WorkspaceFileEdit.is(edit)) {
275275
total += 1;
276276
} else if (!seen.has(edit.resource.toString())) {
277277
seen.add(edit.resource.toString());
@@ -287,15 +287,15 @@ class BulkEdit {
287287

288288
// do it.
289289
for (const group of groups) {
290-
if (isResourceFileEdit(group[0])) {
291-
await this._performFileEdits(<ResourceFileEdit[]>group, progress);
290+
if (WorkspaceFileEdit.is(group[0])) {
291+
await this._performFileEdits(<WorkspaceFileEdit[]>group, progress);
292292
} else {
293-
await this._performTextEdits(<ResourceTextEdit[]>group, progress);
293+
await this._performTextEdits(<WorkspaceTextEdit[]>group, progress);
294294
}
295295
}
296296
}
297297

298-
private async _performFileEdits(edits: ResourceFileEdit[], progress: IProgress<void>) {
298+
private async _performFileEdits(edits: WorkspaceFileEdit[], progress: IProgress<void>) {
299299
this._logService.debug('_performFileEdits', JSON.stringify(edits));
300300
for (const edit of edits) {
301301
progress.report(undefined);
@@ -330,7 +330,7 @@ class BulkEdit {
330330
}
331331
}
332332

333-
private async _performTextEdits(edits: ResourceTextEdit[], progress: IProgress<void>): Promise<void> {
333+
private async _performTextEdits(edits: WorkspaceTextEdit[], progress: IProgress<void>): Promise<void> {
334334
this._logService.debug('_performTextEdits', JSON.stringify(edits));
335335

336336
const recording = Recording.start(this._fileService);
@@ -402,7 +402,7 @@ export class BulkEditService implements IBulkEditService {
402402

403403
// First check if loaded models were not changed in the meantime
404404
for (const edit of edits) {
405-
if (!isResourceFileEdit(edit) && typeof edit.modelVersionId === 'number') {
405+
if (!WorkspaceFileEdit.is(edit) && typeof edit.modelVersionId === 'number') {
406406
let model = this._modelService.getModel(edit.resource);
407407
if (model && model.getVersionId() !== edit.modelVersionId) {
408408
// model changed in the meantime

src/vs/workbench/services/bulkEdit/browser/conflicts.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { IFileService } from 'vs/platform/files/common/files';
77
import { URI } from 'vs/base/common/uri';
8-
import { WorkspaceEdit, isResourceTextEdit } from 'vs/editor/common/modes';
8+
import { WorkspaceEdit, WorkspaceTextEdit } from 'vs/editor/common/modes';
99
import { IModelService } from 'vs/editor/common/services/modelService';
1010
import { ResourceMap } from 'vs/base/common/map';
1111
import { DisposableStore } from 'vs/base/common/lifecycle';
@@ -49,7 +49,7 @@ export class ConflictDetector {
4949
const _workspaceEditResources = new ResourceMap<boolean>();
5050

5151
for (let edit of workspaceEdit.edits) {
52-
if (isResourceTextEdit(edit)) {
52+
if (WorkspaceTextEdit.is(edit)) {
5353

5454
_workspaceEditResources.set(edit.resource, true);
5555

src/vs/workbench/test/electron-browser/api/extHostDocumentSaveParticipant.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { SaveReason } from 'vs/workbench/common/editor';
1414
import type * as vscode from 'vscode';
1515
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
1616
import { NullLogService } from 'vs/platform/log/common/log';
17-
import { isResourceTextEdit, ResourceTextEdit } from 'vs/editor/common/modes';
17+
import { WorkspaceTextEdit } from 'vs/editor/common/modes';
1818
import { timeout } from 'vs/base/common/async';
1919
import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
2020

@@ -279,8 +279,8 @@ suite('ExtHostDocumentSaveParticipant', () => {
279279
sub.dispose();
280280

281281
assert.equal(dto.edits.length, 1);
282-
assert.ok(isResourceTextEdit(dto.edits[0]));
283-
assert.equal((<ResourceTextEdit>dto.edits[0]).edits.length, 2);
282+
assert.ok(WorkspaceTextEdit.is(dto.edits[0]));
283+
assert.equal((<WorkspaceTextEdit>dto.edits[0]).edits.length, 2);
284284
});
285285
});
286286

@@ -326,7 +326,7 @@ suite('ExtHostDocumentSaveParticipant', () => {
326326
$tryApplyWorkspaceEdit(dto: IWorkspaceEditDto) {
327327

328328
for (const edit of dto.edits) {
329-
if (!isResourceTextEdit(edit)) {
329+
if (!WorkspaceTextEdit.is(edit)) {
330330
continue;
331331
}
332332
const { resource, edits } = edit;

src/vs/workbench/test/electron-browser/api/extHostLanguageFeatures.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -759,8 +759,8 @@ suite('ExtHostLanguageFeatures', function () {
759759
const value = await rename(model, new EditorPosition(1, 1), 'newName');
760760
// least relevant rename provider
761761
assert.equal(value.edits.length, 2);
762-
assert.equal((<modes.ResourceTextEdit>value.edits[0]).edits.length, 1);
763-
assert.equal((<modes.ResourceTextEdit>value.edits[1]).edits.length, 1);
762+
assert.equal((<modes.WorkspaceTextEdit>value.edits[0]).edits.length, 1);
763+
assert.equal((<modes.WorkspaceTextEdit>value.edits[1]).edits.length, 1);
764764
});
765765

766766
// --- parameter hints

0 commit comments

Comments
 (0)