@opensumi/ide-workspace-edit 2.21.6 → 2.21.7-next-1670485458.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,7 +124,7 @@ class ResourceTextEditTask {
124
124
  newEOL = edit.textEdit.eol;
125
125
  }
126
126
  edits.push({
127
- forceMoveMarkers: true,
127
+ forceMoveMarkers: false,
128
128
  range: range_1.Range.lift(edit.textEdit.range),
129
129
  text: edit.textEdit.text,
130
130
  });
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-edit.service.js","sourceRoot":"","sources":["../../src/browser/workspace-edit.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-edit.service.js","sourceRoot":"","sources":["../../src/browser/workspace-edit.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@opensumi/ide-workspace-edit",
3
- "version": "2.21.6",
3
+ "version": "2.21.7-next-1670485458.0",
4
4
  "files": [
5
- "lib"
5
+ "lib",
6
+ "src"
6
7
  ],
7
8
  "license": "MIT",
8
9
  "main": "lib/index.js",
@@ -16,17 +17,17 @@
16
17
  "url": "git@github.com:opensumi/core.git"
17
18
  },
18
19
  "dependencies": {
19
- "@opensumi/ide-core-common": "2.21.6"
20
+ "@opensumi/ide-core-common": "2.21.7-next-1670485458.0"
20
21
  },
21
22
  "devDependencies": {
22
- "@opensumi/ide-components": "2.21.6",
23
- "@opensumi/ide-core-browser": "2.21.6",
23
+ "@opensumi/ide-components": "2.21.7-next-1670485458.0",
24
+ "@opensumi/ide-core-browser": "2.21.7-next-1670485458.0",
24
25
  "@opensumi/ide-dev-tool": "^1.3.1",
25
- "@opensumi/ide-editor": "2.21.6",
26
- "@opensumi/ide-file-service": "2.21.6",
27
- "@opensumi/ide-main-layout": "2.21.6",
28
- "@opensumi/ide-monaco": "2.21.6",
29
- "@opensumi/ide-overlay": "2.21.6"
26
+ "@opensumi/ide-editor": "2.21.7-next-1670485458.0",
27
+ "@opensumi/ide-file-service": "2.21.7-next-1670485458.0",
28
+ "@opensumi/ide-main-layout": "2.21.7-next-1670485458.0",
29
+ "@opensumi/ide-monaco": "2.21.7-next-1670485458.0",
30
+ "@opensumi/ide-overlay": "2.21.7-next-1670485458.0"
30
31
  },
31
- "gitHead": "a34917dfa6d851e067a431ad700812e58e8cc8a8"
32
+ "gitHead": "8fb92e1814163b5e8c8c2f99ed1bc2fd68de7bd8"
32
33
  }
@@ -0,0 +1,145 @@
1
+ import { Injectable, Autowired } from '@opensumi/di';
2
+ import { URI, ILogger, revive } from '@opensumi/ide-core-common';
3
+ import { UriComponents } from '@opensumi/ide-editor';
4
+ import {
5
+ ResourceEdit,
6
+ ResourceFileEdit,
7
+ ResourceTextEdit,
8
+ } from '@opensumi/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
9
+ import type {
10
+ IBulkEditPreviewHandler,
11
+ IBulkEditResult,
12
+ IBulkEditService,
13
+ IBulkEditOptions,
14
+ } from '@opensumi/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
15
+ import { WorkspaceEdit } from '@opensumi/monaco-editor-core/esm/vs/editor/common/languages';
16
+ import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
17
+
18
+ import { IWorkspaceEdit, IWorkspaceEditService, IResourceTextEdit, IResourceFileEdit } from '../common';
19
+
20
+ import { isResourceFileEdit, isResourceTextEdit } from './utils';
21
+
22
+ function reviveWorkspaceEditDto2(data: ResourceEdit[] | WorkspaceEdit | undefined): ResourceEdit[] {
23
+ if (!data) {
24
+ return [];
25
+ }
26
+
27
+ const edits = Array.isArray(data) ? data : data.edits;
28
+ const result: ResourceEdit[] = [];
29
+
30
+ for (const edit of revive(edits)) {
31
+ if (isResourceFileEdit(edit)) {
32
+ result.push(new ResourceFileEdit(edit.oldResource, edit.newResource, edit.options, edit.metadata));
33
+ } else if (isResourceTextEdit(edit)) {
34
+ result.push(new ResourceTextEdit(edit.resource, edit.textEdit, edit.versionId, edit.metadata));
35
+ }
36
+ }
37
+ return result;
38
+ }
39
+
40
+ @Injectable()
41
+ export class MonacoBulkEditService implements IBulkEditService {
42
+ _serviceBrand: undefined;
43
+
44
+ @Autowired(IWorkspaceEditService)
45
+ workspaceEditService: IWorkspaceEditService;
46
+
47
+ @Autowired(ILogger)
48
+ private readonly logger: ILogger;
49
+
50
+ private _previewHandler?: IBulkEditPreviewHandler;
51
+
52
+ protected getAriaSummary(totalEdits: number, totalFiles: number): string {
53
+ if (totalEdits === 0) {
54
+ return 'Made no edits';
55
+ }
56
+ if (totalEdits > 1 && totalFiles > 1) {
57
+ return `Made ${totalEdits} text edits in ${totalFiles} files`;
58
+ }
59
+ return `Made ${totalEdits} text edits in one file`;
60
+ }
61
+
62
+ async apply(
63
+ resourceEdits: ResourceEdit[] | WorkspaceEdit,
64
+ options?: IBulkEditOptions,
65
+ ): Promise<IBulkEditResult & { success: boolean }> {
66
+ let edits = reviveWorkspaceEditDto2(resourceEdits);
67
+
68
+ if (options?.showPreview && this._previewHandler) {
69
+ try {
70
+ edits = await this._previewHandler(edits, options);
71
+ } catch (err) {
72
+ this.logger.error(`Handle refactor preview error: \n ${err.message || err}`);
73
+ return { ariaSummary: err.message, success: false };
74
+ }
75
+ }
76
+
77
+ try {
78
+ const { workspaceEdit, totalEdits, totalFiles } = this.convertWorkspaceEdit(edits);
79
+ await this.workspaceEditService.apply(workspaceEdit);
80
+ return {
81
+ ariaSummary: this.getAriaSummary(totalEdits, totalFiles),
82
+ success: true,
83
+ };
84
+ } catch (err) {
85
+ const errMsg = `Error applying workspace edits: ${err.toString()}`;
86
+ this.logger.error(errMsg);
87
+ return { ariaSummary: errMsg, success: false };
88
+ }
89
+ }
90
+
91
+ hasPreviewHandler(): boolean {
92
+ return Boolean(this._previewHandler);
93
+ }
94
+
95
+ setPreviewHandler(handler: IBulkEditPreviewHandler): monaco.IDisposable {
96
+ this._previewHandler = handler;
97
+
98
+ const disposePreviewHandler = () => {
99
+ if (this._previewHandler === handler) {
100
+ this._previewHandler = undefined;
101
+ }
102
+ };
103
+
104
+ return {
105
+ dispose(): void {
106
+ disposePreviewHandler();
107
+ },
108
+ };
109
+ }
110
+
111
+ private convertWorkspaceEdit(edit: ResourceEdit[]): {
112
+ workspaceEdit: IWorkspaceEdit;
113
+ totalEdits: number;
114
+ totalFiles: number;
115
+ } {
116
+ const workspaceEdit: IWorkspaceEdit = { edits: [] };
117
+ let totalEdits = 0;
118
+ let totalFiles = 0;
119
+ for (const resourceEdit of edit) {
120
+ if ((resourceEdit as IResourceTextEdit).resource) {
121
+ const resourceTextEdit = resourceEdit as IResourceTextEdit;
122
+ const tmp: IResourceTextEdit = {
123
+ resource: URI.from(resourceTextEdit.resource as unknown as UriComponents),
124
+ textEdit: resourceTextEdit.textEdit,
125
+ options: {
126
+ dirtyIfInEditor: true,
127
+ },
128
+ };
129
+ workspaceEdit.edits.push(tmp);
130
+ totalEdits += 1;
131
+ } else {
132
+ const resourceFileEdit = resourceEdit as ResourceFileEdit;
133
+ const { oldResource, newResource, options = {} } = resourceFileEdit;
134
+ const tmp: IResourceFileEdit = {
135
+ oldResource: oldResource ? URI.from(oldResource as UriComponents) : undefined,
136
+ newResource: newResource ? URI.from(newResource as UriComponents) : undefined,
137
+ options,
138
+ };
139
+ workspaceEdit.edits.push(tmp);
140
+ totalFiles += 1;
141
+ }
142
+ }
143
+ return { workspaceEdit, totalEdits, totalFiles };
144
+ }
145
+ }
@@ -0,0 +1,126 @@
1
+ import { Provider, Injectable, Autowired } from '@opensumi/di';
2
+ import {
3
+ BrowserModule,
4
+ Domain,
5
+ MonacoContribution,
6
+ ServiceNames,
7
+ ILogger,
8
+ TabBarToolbarContribution,
9
+ ToolbarRegistry,
10
+ localize,
11
+ CommandContribution,
12
+ getIcon,
13
+ MonacoOverrideServiceRegistry,
14
+ } from '@opensumi/ide-core-browser';
15
+ import { CommandRegistry } from '@opensumi/ide-core-common';
16
+ import type {
17
+ IBulkEditOptions,
18
+ ResourceEdit,
19
+ } from '@opensumi/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
20
+
21
+ import { IBulkEditServiceShape, IWorkspaceEditService, IWorkspaceFileService } from '../common';
22
+
23
+ import { MonacoBulkEditService } from './bulk-edit.service';
24
+ import { IRefactorPreviewService, RefactorPreviewServiceImpl, PreviewViewId } from './refactor-preview.service';
25
+ import { WorkspaceEditServiceImpl } from './workspace-edit.service';
26
+ import { WorkspaceFileService } from './workspace-file.service';
27
+
28
+ const ClearEditsId = 'refactor-preview.clear.edits';
29
+ const ApplyEditsId = 'refactor-preview.apply.edits';
30
+
31
+ @Injectable()
32
+ export class WorkspaceEditModule extends BrowserModule {
33
+ providers: Provider[] = [
34
+ {
35
+ token: IWorkspaceEditService,
36
+ useClass: WorkspaceEditServiceImpl,
37
+ },
38
+ {
39
+ token: IWorkspaceFileService,
40
+ useClass: WorkspaceFileService,
41
+ },
42
+ {
43
+ token: IRefactorPreviewService,
44
+ useClass: RefactorPreviewServiceImpl,
45
+ },
46
+ {
47
+ token: IBulkEditServiceShape,
48
+ useClass: MonacoBulkEditService,
49
+ },
50
+ WorkspaceEditContribution,
51
+ ];
52
+ }
53
+
54
+ @Domain(MonacoContribution, TabBarToolbarContribution, CommandContribution)
55
+ export class WorkspaceEditContribution implements MonacoContribution, TabBarToolbarContribution, CommandContribution {
56
+ @Autowired(IBulkEditServiceShape)
57
+ protected readonly bulkEditService: IBulkEditServiceShape;
58
+
59
+ @Autowired(ILogger)
60
+ protected readonly logger: ILogger;
61
+
62
+ @Autowired(IRefactorPreviewService)
63
+ protected readonly refactorPreviewService: IRefactorPreviewService;
64
+
65
+ private async previewEdit(edits: ResourceEdit[], options?: IBulkEditOptions): Promise<ResourceEdit[]> {
66
+ try {
67
+ const filteredEdits = await this.refactorPreviewService.previewEdits(edits);
68
+ return filteredEdits;
69
+ } catch (err) {
70
+ if (!err) {
71
+ // Canceled
72
+ } else {
73
+ this.logger.error(`Preview textEdit error: \n ${err.message}`);
74
+ }
75
+ return edits;
76
+ }
77
+ }
78
+
79
+ registerOverrideService(registry: MonacoOverrideServiceRegistry) {
80
+ // Monaco BulkEditService
81
+ registry.registerOverrideService(ServiceNames.BULK_EDIT_SERVICE, this.bulkEditService);
82
+ this.bulkEditService.setPreviewHandler(this.previewEdit.bind(this));
83
+ }
84
+
85
+ registerToolbarItems(registry: ToolbarRegistry) {
86
+ registry.registerItem({
87
+ id: ClearEditsId,
88
+ viewId: PreviewViewId,
89
+ command: ClearEditsId,
90
+ tooltip: localize('refactor-preview.title.clear'),
91
+ });
92
+
93
+ registry.registerItem({
94
+ id: ApplyEditsId,
95
+ viewId: PreviewViewId,
96
+ command: ApplyEditsId,
97
+ tooltip: localize('refactor-preview.title.apply'),
98
+ });
99
+ }
100
+
101
+ registerCommands(registry: CommandRegistry) {
102
+ registry.registerCommand(
103
+ {
104
+ id: ClearEditsId,
105
+ iconClass: getIcon('clear'),
106
+ },
107
+ {
108
+ execute: () => {
109
+ this.refactorPreviewService.clearAllEdits();
110
+ },
111
+ },
112
+ );
113
+
114
+ registry.registerCommand(
115
+ {
116
+ id: ApplyEditsId,
117
+ iconClass: getIcon('check'),
118
+ },
119
+ {
120
+ execute: () => {
121
+ this.refactorPreviewService.applyEdits();
122
+ },
123
+ },
124
+ );
125
+ }
126
+ }
@@ -0,0 +1,151 @@
1
+ import { observable, action } from 'mobx';
2
+ import React from 'react';
3
+
4
+ import { Injector, Injectable, Autowired, INJECTOR_TOKEN } from '@opensumi/di';
5
+ import { Deferred, localize, MessageType } from '@opensumi/ide-core-common';
6
+ import { IMainLayoutService } from '@opensumi/ide-main-layout';
7
+ import { IDialogService } from '@opensumi/ide-overlay';
8
+ import { ResourceEdit } from '@opensumi/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
9
+ import type {
10
+ IWorkspaceFileEdit,
11
+ IWorkspaceTextEdit,
12
+ } from '@opensumi/monaco-editor-core/esm/vs/editor/common/languages';
13
+
14
+ import { RefactorPreview } from './refactor-preview';
15
+
16
+ export const PreviewViewId = 'RefactorPreview';
17
+
18
+ export interface IRefactorPreviewService {
19
+ edits: Array<IWorkspaceTextEdit | IWorkspaceFileEdit>;
20
+ selectedFileOrTextEdits: Set<IWorkspaceTextEdit | IWorkspaceFileEdit>;
21
+
22
+ previewEdits(edit: ResourceEdit[]): Promise<ResourceEdit[]>;
23
+
24
+ filterEdit(edit: IWorkspaceTextEdit | IWorkspaceFileEdit, checked: boolean): void;
25
+
26
+ applyEdits(): void;
27
+
28
+ clearAllEdits(): void;
29
+ }
30
+
31
+ export const IRefactorPreviewService = Symbol('IRefactorPreviewService');
32
+
33
+ @Injectable()
34
+ export class RefactorPreviewServiceImpl implements IRefactorPreviewService {
35
+ @observable.shallow
36
+ public edits: Array<IWorkspaceTextEdit | IWorkspaceFileEdit> = [];
37
+
38
+ public selectedFileOrTextEdits = observable.set<IWorkspaceTextEdit | IWorkspaceFileEdit>([], { deep: false });
39
+
40
+ @Autowired(IMainLayoutService)
41
+ protected readonly mainLayout: IMainLayoutService;
42
+
43
+ @Autowired(IDialogService)
44
+ protected readonly dialogService: IDialogService;
45
+
46
+ @Autowired(INJECTOR_TOKEN)
47
+ protected readonly injector: Injector;
48
+
49
+ private previewDeferred: Deferred<Array<IWorkspaceTextEdit | IWorkspaceFileEdit>> | null;
50
+
51
+ private clear() {
52
+ this.togglePreviewView(false);
53
+ this.edits = [];
54
+ this.previewDeferred = null;
55
+ this.selectedFileOrTextEdits.clear();
56
+ }
57
+
58
+ private registerRefactorPreviewView() {
59
+ const handler = this.mainLayout.getTabbarHandler(PreviewViewId);
60
+ if (handler) {
61
+ return;
62
+ }
63
+
64
+ this.mainLayout.collectTabbarComponent(
65
+ [
66
+ {
67
+ component: RefactorPreview,
68
+ id: PreviewViewId,
69
+ },
70
+ ],
71
+ {
72
+ title: localize('refactor-preview.title', 'REFACTOR PREVIEW'),
73
+ containerId: PreviewViewId,
74
+ hidden: true,
75
+ },
76
+ 'bottom',
77
+ );
78
+ }
79
+
80
+ private togglePreviewView(show: boolean) {
81
+ const handler = this.mainLayout.getTabbarHandler(PreviewViewId);
82
+ if (show) {
83
+ handler?.show();
84
+ handler?.activate();
85
+ } else {
86
+ handler?.hide();
87
+ handler?.deactivate();
88
+ }
89
+ }
90
+
91
+ async previewEdits(edits: ResourceEdit[]): Promise<ResourceEdit[]> {
92
+ this.registerRefactorPreviewView();
93
+
94
+ if (this.previewDeferred) {
95
+ const continued = await this.dialogService.open(
96
+ <div>
97
+ {localize('refactor-preview.overlay.title')}
98
+ <p>{localize('refactor-preview.overlay.detail')}</p>
99
+ </div>,
100
+ MessageType.Warning,
101
+ [localize('refactor-preview.overlay.cancel'), localize('refactor-preview.overlay.continue')],
102
+ );
103
+
104
+ if (continued === localize('refactor-preview.overlay.cancel')) {
105
+ return [];
106
+ }
107
+ }
108
+
109
+ this.togglePreviewView(true);
110
+
111
+ this.edits = edits;
112
+ // 默认全选
113
+ edits.forEach((edit) => {
114
+ this.selectedFileOrTextEdits.add(edit);
115
+ });
116
+
117
+ this.previewDeferred = new Deferred();
118
+
119
+ return this.previewDeferred.promise;
120
+ }
121
+
122
+ @action
123
+ filterEdit(edit: IWorkspaceTextEdit | IWorkspaceFileEdit, checked: boolean) {
124
+ if (checked) {
125
+ this.selectedFileOrTextEdits.add(edit);
126
+ } else {
127
+ this.selectedFileOrTextEdits.delete(edit);
128
+ }
129
+ }
130
+
131
+ applyEdits(): void {
132
+ if (!this.previewDeferred) {
133
+ // it's can not be happened
134
+ return;
135
+ }
136
+
137
+ const candidate = this.edits.filter((edit: IWorkspaceTextEdit) => this.selectedFileOrTextEdits.has(edit));
138
+
139
+ this.previewDeferred.resolve(candidate);
140
+ this.clear();
141
+ }
142
+
143
+ clearAllEdits(): void {
144
+ if (!this.previewDeferred) {
145
+ return;
146
+ }
147
+
148
+ this.previewDeferred.resolve([]);
149
+ this.clear();
150
+ }
151
+ }