@opensumi/ide-workspace-edit 2.12.1-next-079c1930

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.
Files changed (38) hide show
  1. package/lib/browser/bulk-edit.service.d.ts +18 -0
  2. package/lib/browser/bulk-edit.service.d.ts.map +1 -0
  3. package/lib/browser/bulk-edit.service.js +120 -0
  4. package/lib/browser/bulk-edit.service.js.map +1 -0
  5. package/lib/browser/index.d.ts +18 -0
  6. package/lib/browser/index.d.ts.map +1 -0
  7. package/lib/browser/index.js +112 -0
  8. package/lib/browser/index.js.map +1 -0
  9. package/lib/browser/refactor-preview.d.ts +6 -0
  10. package/lib/browser/refactor-preview.d.ts.map +1 -0
  11. package/lib/browser/refactor-preview.js +129 -0
  12. package/lib/browser/refactor-preview.js.map +1 -0
  13. package/lib/browser/refactor-preview.service.d.ts +31 -0
  14. package/lib/browser/refactor-preview.service.d.ts.map +1 -0
  15. package/lib/browser/refactor-preview.service.js +123 -0
  16. package/lib/browser/refactor-preview.service.js.map +1 -0
  17. package/lib/browser/refactor_preview.module.less +49 -0
  18. package/lib/browser/utils.d.ts +4 -0
  19. package/lib/browser/utils.d.ts.map +1 -0
  20. package/lib/browser/utils.js +16 -0
  21. package/lib/browser/utils.js.map +1 -0
  22. package/lib/browser/workspace-edit.service.d.ts +54 -0
  23. package/lib/browser/workspace-edit.service.d.ts.map +1 -0
  24. package/lib/browser/workspace-edit.service.js +318 -0
  25. package/lib/browser/workspace-edit.service.js.map +1 -0
  26. package/lib/browser/workspace-file.service.d.ts +43 -0
  27. package/lib/browser/workspace-file.service.d.ts.map +1 -0
  28. package/lib/browser/workspace-file.service.js +166 -0
  29. package/lib/browser/workspace-file.service.js.map +1 -0
  30. package/lib/common/index.d.ts +123 -0
  31. package/lib/common/index.d.ts.map +1 -0
  32. package/lib/common/index.js +16 -0
  33. package/lib/common/index.js.map +1 -0
  34. package/lib/index.d.ts +3 -0
  35. package/lib/index.d.ts.map +1 -0
  36. package/lib/index.js +6 -0
  37. package/lib/index.js.map +1 -0
  38. package/package.json +32 -0
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceFileService = exports.WorkspaceFileOperationParticipant = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_file_service_1 = require("@opensumi/ide-file-service");
7
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
+ const progress_1 = require("@opensumi/ide-core-browser/lib/progress");
9
+ const __1 = require("..");
10
+ let WorkspaceFileOperationParticipant = class WorkspaceFileOperationParticipant extends ide_core_common_1.Disposable {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.participants = [];
14
+ }
15
+ registerParticipant(participant) {
16
+ this.participants.push(participant);
17
+ return {
18
+ dispose: () => {
19
+ const index = this.participants.findIndex((item) => item === participant);
20
+ this.participants.splice(index, 1);
21
+ },
22
+ };
23
+ }
24
+ async participate(files, operation) {
25
+ const cts = new ide_core_common_1.CancellationTokenSource();
26
+ for (const participant of this.participants) {
27
+ if (cts.token.isCancellationRequested) {
28
+ break;
29
+ }
30
+ try {
31
+ await participant.participate(files, operation, undefined, __1.FILE_OPERATION_TIMEOUT, cts.token);
32
+ }
33
+ catch (err) {
34
+ (0, ide_core_common_1.getDebugLogger)().error(err);
35
+ }
36
+ }
37
+ }
38
+ dispose() {
39
+ this.participants.splice(0, this.participants.length);
40
+ }
41
+ };
42
+ (0, tslib_1.__decorate)([
43
+ (0, di_1.Autowired)(progress_1.IProgressService),
44
+ (0, tslib_1.__metadata)("design:type", Object)
45
+ ], WorkspaceFileOperationParticipant.prototype, "progressService", void 0);
46
+ WorkspaceFileOperationParticipant = (0, tslib_1.__decorate)([
47
+ (0, di_1.Injectable)()
48
+ ], WorkspaceFileOperationParticipant);
49
+ exports.WorkspaceFileOperationParticipant = WorkspaceFileOperationParticipant;
50
+ let WorkspaceFileService = class WorkspaceFileService {
51
+ constructor() {
52
+ this.correlationIds = 0;
53
+ this._onWillRunWorkspaceFileOperation = new ide_core_common_1.AsyncEmitter();
54
+ this.onWillRunWorkspaceFileOperation = this._onWillRunWorkspaceFileOperation.event;
55
+ this._onDidFailWorkspaceFileOperation = new ide_core_common_1.AsyncEmitter();
56
+ this.onDidFailWorkspaceFileOperation = this._onDidFailWorkspaceFileOperation.event;
57
+ this._onDidRunWorkspaceFileOperation = new ide_core_common_1.AsyncEmitter();
58
+ this.onDidRunWorkspaceFileOperation = this._onDidRunWorkspaceFileOperation.event;
59
+ }
60
+ create(resource, contents, options) {
61
+ return this.doCreate(resource, true, contents, options);
62
+ }
63
+ createFolder(resource) {
64
+ return this.doCreate(resource, false);
65
+ }
66
+ move(files, options) {
67
+ return this.doMoveOrCopy(files, true, options);
68
+ }
69
+ copy(files, options) {
70
+ return this.doMoveOrCopy(files, false, options);
71
+ }
72
+ async delete(resources, options) {
73
+ // file operation participant
74
+ const files = resources.map((target) => ({ target: target.codeUri }));
75
+ await this.runOperationParticipant(files, 1 /* DELETE */);
76
+ // before events
77
+ const event = { correlationId: this.correlationIds++, operation: 1 /* DELETE */, files };
78
+ await this._onWillRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
79
+ // now actually delete from disk
80
+ try {
81
+ for (const resource of resources) {
82
+ // TODO: support recursive option
83
+ await this.fileService.delete(resource.toString(), { moveToTrash: options === null || options === void 0 ? void 0 : options.useTrash });
84
+ }
85
+ }
86
+ catch (error) {
87
+ // error event
88
+ await this._onDidFailWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
89
+ throw error;
90
+ }
91
+ // after event
92
+ await this._onDidRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
93
+ }
94
+ registerFileOperationParticipant(participant) {
95
+ return this.fileOperationParticipants.registerParticipant(participant);
96
+ }
97
+ runOperationParticipant(files, operation) {
98
+ return this.fileOperationParticipants.participate(files, operation);
99
+ }
100
+ async doMoveOrCopy(files, move, options) {
101
+ const overwrite = options === null || options === void 0 ? void 0 : options.overwrite;
102
+ const stats = [];
103
+ // file operation participant
104
+ await this.runOperationParticipant(files, move ? 2 /* MOVE */ : 3 /* COPY */);
105
+ // before event
106
+ const event = { correlationId: this.correlationIds++, operation: move ? 2 /* MOVE */ : 3 /* COPY */, files };
107
+ await this._onWillRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
108
+ try {
109
+ for (const { source, target } of files) {
110
+ // now we can rename the source to target via file operation
111
+ if (move) {
112
+ stats.push(await this.fileService.move(source.toString(), target.toString(), { overwrite }));
113
+ }
114
+ else {
115
+ stats.push(await this.fileService.copy(source.toString(), target.toString(), { overwrite }));
116
+ }
117
+ }
118
+ }
119
+ catch (error) {
120
+ // error event
121
+ await this._onDidFailWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
122
+ throw error;
123
+ }
124
+ // after event
125
+ await this._onDidRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
126
+ return stats;
127
+ }
128
+ async doCreate(resource, isFile, content, options) {
129
+ // file operation participant
130
+ await this.runOperationParticipant([{ target: resource.codeUri }], 0 /* CREATE */);
131
+ // before events
132
+ const event = { correlationId: this.correlationIds++, operation: 0 /* CREATE */, files: [{ target: resource.codeUri }] };
133
+ await this._onWillRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
134
+ // now actually create on disk
135
+ let stat;
136
+ try {
137
+ if (isFile) {
138
+ stat = await this.fileService.createFile(resource.toString(), { overwrite: options === null || options === void 0 ? void 0 : options.overwrite, content });
139
+ }
140
+ else {
141
+ stat = await this.fileService.createFolder(resource.toString());
142
+ }
143
+ }
144
+ catch (error) {
145
+ // error event
146
+ await this._onDidFailWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
147
+ throw error;
148
+ }
149
+ // after event
150
+ await this._onDidRunWorkspaceFileOperation.fireAsync(event, ide_core_common_1.CancellationToken.None);
151
+ return stat;
152
+ }
153
+ };
154
+ (0, tslib_1.__decorate)([
155
+ (0, di_1.Autowired)(ide_file_service_1.IFileServiceClient),
156
+ (0, tslib_1.__metadata)("design:type", Object)
157
+ ], WorkspaceFileService.prototype, "fileService", void 0);
158
+ (0, tslib_1.__decorate)([
159
+ (0, di_1.Autowired)(WorkspaceFileOperationParticipant),
160
+ (0, tslib_1.__metadata)("design:type", WorkspaceFileOperationParticipant)
161
+ ], WorkspaceFileService.prototype, "fileOperationParticipants", void 0);
162
+ WorkspaceFileService = (0, tslib_1.__decorate)([
163
+ (0, di_1.Injectable)()
164
+ ], WorkspaceFileService);
165
+ exports.WorkspaceFileService = WorkspaceFileService;
166
+ //# sourceMappingURL=workspace-file.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-file.service.js","sourceRoot":"","sources":["../../src/browser/workspace-file.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { Uri, URI, IRange, BasicEvent, FileStat, CancellationToken, WaitUntilEvent, IDisposable, Event } from '@opensumi/ide-core-common';
2
+ import { EndOfLineSequence } from '@opensumi/ide-monaco/lib/browser/monaco-api/types';
3
+ import type { IBulkEditService } from '@opensumi/monaco-editor-core/esm/vs/editor/browser/services/bulkEditService';
4
+ export interface IResourceFileEdit {
5
+ oldResource?: URI;
6
+ newResource?: URI;
7
+ options: {
8
+ overwrite?: boolean;
9
+ ignoreIfNotExists?: boolean;
10
+ ignoreIfExists?: boolean;
11
+ recursive?: boolean;
12
+ showInEditor?: boolean;
13
+ isDirectory?: boolean;
14
+ copy?: boolean;
15
+ };
16
+ }
17
+ export interface IResourceTextEdit {
18
+ resource: URI;
19
+ versionId?: number;
20
+ textEdit: ITextEdit;
21
+ options?: {
22
+ openDirtyInEditor?: boolean;
23
+ dirtyIfInEditor?: boolean;
24
+ };
25
+ }
26
+ export interface ITextEdit {
27
+ range: IRange;
28
+ text: string;
29
+ eol?: EndOfLineSequence;
30
+ }
31
+ export interface IWorkspaceEdit {
32
+ edits: Array<IResourceFileEdit | IResourceTextEdit>;
33
+ }
34
+ export declare const IWorkspaceEditService: unique symbol;
35
+ export interface IWorkspaceEditService {
36
+ apply(edit: IWorkspaceEdit): Promise<void>;
37
+ revertTopFileEdit(): Promise<void>;
38
+ }
39
+ export declare const IWorkspaceFileService: unique symbol;
40
+ export declare const IBulkEditServiceShape: unique symbol;
41
+ export declare type IBulkEditServiceShape = IBulkEditService;
42
+ export declare const enum FileOperation {
43
+ CREATE = 0,
44
+ DELETE = 1,
45
+ MOVE = 2,
46
+ COPY = 3
47
+ }
48
+ export declare const FILE_OPERATION_TIMEOUT = 5000;
49
+ export interface SourceTargetPair {
50
+ /**
51
+ * The source resource that is defined for move operations.
52
+ */
53
+ readonly source?: Uri;
54
+ /**
55
+ * The target resource the event is about.
56
+ */
57
+ readonly target: Uri;
58
+ }
59
+ /**
60
+ * not supported yet
61
+ */
62
+ export interface IFileOperationUndoRedoInfo {
63
+ /**
64
+ * Id of the undo group that the file operation belongs to.
65
+ */
66
+ undoRedoGroupId?: number;
67
+ /**
68
+ * Flag indicates if the operation is an undo.
69
+ */
70
+ isUndoing?: boolean;
71
+ }
72
+ export interface IWorkspaceFileOperationParticipant {
73
+ /**
74
+ * Participate in a file operation of working copies. Allows to
75
+ * change the working copies before they are being saved to disk.
76
+ */
77
+ participate(files: SourceTargetPair[], operation: FileOperation, undoInfo: IFileOperationUndoRedoInfo | undefined, timeout: number, token: CancellationToken): Promise<void>;
78
+ }
79
+ export interface WorkspaceFileEvent extends WaitUntilEvent {
80
+ /**
81
+ * An identifier to correlate the operation through the
82
+ * different event types (before, after, error).
83
+ */
84
+ readonly correlationId: number;
85
+ /**
86
+ * The file operation that is taking place.
87
+ */
88
+ readonly operation: FileOperation;
89
+ /**
90
+ * The array of source/target pair of files involved in given operation.
91
+ */
92
+ readonly files: SourceTargetPair[];
93
+ }
94
+ export interface IWorkspaceFileService {
95
+ readonly onWillRunWorkspaceFileOperation: Event<WorkspaceFileEvent>;
96
+ readonly onDidFailWorkspaceFileOperation: Event<WorkspaceFileEvent>;
97
+ readonly onDidRunWorkspaceFileOperation: Event<WorkspaceFileEvent>;
98
+ create(resource: URI, contents?: string, options?: {
99
+ overwrite?: boolean;
100
+ }): Promise<FileStat>;
101
+ createFolder(resource: URI): Promise<FileStat>;
102
+ move(files: Required<SourceTargetPair>[], options?: {
103
+ overwrite?: boolean;
104
+ }): Promise<FileStat[]>;
105
+ copy(files: Required<SourceTargetPair>[], options?: {
106
+ overwrite?: boolean;
107
+ }): Promise<FileStat[]>;
108
+ delete(resources: URI[], options?: {
109
+ useTrash?: boolean;
110
+ recursive?: boolean;
111
+ }): Promise<void>;
112
+ registerFileOperationParticipant(participant: IWorkspaceFileOperationParticipant): IDisposable;
113
+ }
114
+ export declare class WorkspaceEditDidRenameFileEvent extends BasicEvent<{
115
+ oldUri: URI;
116
+ newUri: URI;
117
+ }> {
118
+ }
119
+ export declare class WorkspaceEditDidDeleteFileEvent extends BasicEvent<{
120
+ oldUri: URI;
121
+ }> {
122
+ }
123
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceEditDidDeleteFileEvent = exports.WorkspaceEditDidRenameFileEvent = exports.FILE_OPERATION_TIMEOUT = exports.IBulkEditServiceShape = exports.IWorkspaceFileService = exports.IWorkspaceEditService = void 0;
4
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
5
+ exports.IWorkspaceEditService = Symbol('IWorkspaceEditService');
6
+ exports.IWorkspaceFileService = Symbol('IWorkspaceFileService');
7
+ // 区分开 monaco 内部的 IBulkEditServiceShape
8
+ exports.IBulkEditServiceShape = Symbol('IBulkEditServiceShape');
9
+ exports.FILE_OPERATION_TIMEOUT = 5000;
10
+ class WorkspaceEditDidRenameFileEvent extends ide_core_common_1.BasicEvent {
11
+ }
12
+ exports.WorkspaceEditDidRenameFileEvent = WorkspaceEditDidRenameFileEvent;
13
+ class WorkspaceEditDidDeleteFileEvent extends ide_core_common_1.BasicEvent {
14
+ }
15
+ exports.WorkspaceEditDidDeleteFileEvent = WorkspaceEditDidDeleteFileEvent;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA,+DAA0I;AAwC7H,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAWxD,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE,uCAAuC;AAC1B,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAUxD,QAAA,sBAAsB,GAAG,IAAI,CAAC;AA+E3C,MAAa,+BAAgC,SAAQ,4BAAsC;CAAG;AAA9F,0EAA8F;AAC9F,MAAa,+BAAgC,SAAQ,4BAAyB;CAAG;AAAjF,0EAAiF"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './common';
2
+ export * from './browser';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./common"), exports);
5
+ (0, tslib_1.__exportStar)(require("./browser"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAyB;AACzB,yDAA0B"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@opensumi/ide-workspace-edit",
3
+ "version": "2.12.1-next-079c1930",
4
+ "files": [
5
+ "lib"
6
+ ],
7
+ "license": "MIT",
8
+ "main": "lib/index.js",
9
+ "typings": "lib/index.d.ts",
10
+ "scripts": {
11
+ "prepublishOnly": "npm run build",
12
+ "build": "tsc --build ../../configs/ts/references/tsconfig.workspace-edit.json"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git@github.com:opensumi/core.git"
17
+ },
18
+ "dependencies": {
19
+ "@opensumi/ide-core-common": "2.12.1-next-079c1930",
20
+ "@opensumi/ide-core-node": "2.12.1-next-079c1930",
21
+ "@opensumi/ide-editor": "2.12.1-next-079c1930",
22
+ "@opensumi/ide-file-service": "2.12.1-next-079c1930",
23
+ "@opensumi/ide-overlay": "2.12.1-next-079c1930",
24
+ "@opensumi/ide-main-layout": "2.12.1-next-079c1930",
25
+ "@opensumi/ide-components": "2.12.1-next-079c1930",
26
+ "@opensumi/ide-monaco": "2.12.1-next-079c1930"
27
+ },
28
+ "devDependencies": {
29
+ "@opensumi/ide-core-browser": "2.12.1-next-079c1930",
30
+ "@opensumi/ide-dev-tool": "^1.3.1"
31
+ }
32
+ }