@theia/workspace 1.13.0-next.fd91f213 → 1.13.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.
- package/lib/browser/workspace-frontend-contribution.d.ts +19 -6
- package/lib/browser/workspace-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/workspace-frontend-contribution.js +96 -19
- package/lib/browser/workspace-frontend-contribution.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/workspace-frontend-contribution.ts +63 -14
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService } from '@theia/core/lib/common';
|
|
16
|
+
import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService, MessageService } from '@theia/core/lib/common';
|
|
17
17
|
import { OS } from '@theia/core';
|
|
18
|
-
import { OpenerService, StorageService, LabelProvider, KeybindingRegistry, KeybindingContribution, FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
18
|
+
import { OpenerService, StorageService, LabelProvider, KeybindingRegistry, KeybindingContribution, FrontendApplicationContribution, ApplicationShell, SaveableSource, Widget, Navigatable } from '@theia/core/lib/browser';
|
|
19
19
|
import { FileDialogService, OpenFileDialogProps, FileDialogTreeFilters } from '@theia/filesystem/lib/browser';
|
|
20
20
|
import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
|
|
21
21
|
import { WorkspaceService } from './workspace-service';
|
|
@@ -42,6 +42,8 @@ export declare enum WorkspaceStates {
|
|
|
42
42
|
}
|
|
43
43
|
export declare type WorkspaceState = keyof typeof WorkspaceStates;
|
|
44
44
|
export declare class WorkspaceFrontendContribution implements CommandContribution, KeybindingContribution, MenuContribution, FrontendApplicationContribution {
|
|
45
|
+
protected readonly applicationShell: ApplicationShell;
|
|
46
|
+
protected readonly messageService: MessageService;
|
|
45
47
|
protected readonly fileService: FileService;
|
|
46
48
|
protected readonly openerService: OpenerService;
|
|
47
49
|
protected readonly workspaceService: WorkspaceService;
|
|
@@ -115,11 +117,22 @@ export declare class WorkspaceFrontendContribution implements CommandContributio
|
|
|
115
117
|
protected closeWorkspace(): Promise<void>;
|
|
116
118
|
protected saveWorkspaceAs(): Promise<void>;
|
|
117
119
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
120
|
+
* This method ensures a few things about `widget`:
|
|
121
|
+
* - `widget.getResourceUri()` actually returns a URI.
|
|
122
|
+
* - `widget.saveable.createSnapshot` is defined.
|
|
123
|
+
* - `widget.saveable.revert` is defined.
|
|
124
|
+
*/
|
|
125
|
+
protected canBeSavedAs(widget: Widget | undefined): widget is Widget & SaveableSource & Navigatable;
|
|
126
|
+
/**
|
|
127
|
+
* Save `sourceWidget` to a new file picked by the user.
|
|
128
|
+
*/
|
|
129
|
+
protected saveAs(sourceWidget: Widget & SaveableSource & Navigatable): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* @param sourceWidget widget to save as `target`.
|
|
132
|
+
* @param target The new URI for the widget.
|
|
133
|
+
* @param overwrite
|
|
121
134
|
*/
|
|
122
|
-
|
|
135
|
+
private copyAndSave;
|
|
123
136
|
protected updateWorkspaceStateKey(): WorkspaceState;
|
|
124
137
|
private confirmOverwrite;
|
|
125
138
|
private isElectron;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,6 @@ var common_2 = require("../common");
|
|
|
99
99
|
var workspace_commands_1 = require("./workspace-commands");
|
|
100
100
|
var quick_open_workspace_1 = require("./quick-open-workspace");
|
|
101
101
|
var workspace_preferences_1 = require("./workspace-preferences");
|
|
102
|
-
var uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
|
|
103
102
|
var file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
104
103
|
var encoding_registry_1 = require("@theia/core/lib/browser/encoding-registry");
|
|
105
104
|
var encodings_1 = require("@theia/core/lib/common/encodings");
|
|
@@ -216,9 +215,20 @@ var WorkspaceFrontendContribution = /** @class */ (function () {
|
|
|
216
215
|
isEnabled: function () { return _this.workspaceService.isMultiRootWorkspaceEnabled; },
|
|
217
216
|
execute: function () { return _this.saveWorkspaceAs(); }
|
|
218
217
|
});
|
|
219
|
-
commands.registerCommand(workspace_commands_1.WorkspaceCommands.SAVE_AS,
|
|
220
|
-
|
|
221
|
-
|
|
218
|
+
commands.registerCommand(workspace_commands_1.WorkspaceCommands.SAVE_AS, {
|
|
219
|
+
isEnabled: function () { return _this.canBeSavedAs(_this.applicationShell.currentWidget); },
|
|
220
|
+
execute: function () {
|
|
221
|
+
var currentWidget = _this.applicationShell.currentWidget;
|
|
222
|
+
// No clue what could have happened between `isEnabled` and `execute`
|
|
223
|
+
// when fetching currentWidget, so better to double-check:
|
|
224
|
+
if (_this.canBeSavedAs(currentWidget)) {
|
|
225
|
+
_this.saveAs(currentWidget);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
_this.messageService.error("Cannot run \"" + workspace_commands_1.WorkspaceCommands.SAVE_AS.label + "\" for the current widget.");
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
});
|
|
222
232
|
commands.registerCommand(workspace_commands_1.WorkspaceCommands.OPEN_WORKSPACE_FILE, {
|
|
223
233
|
isEnabled: function () { return _this.workspaceService.saved; },
|
|
224
234
|
execute: function () {
|
|
@@ -553,18 +563,31 @@ var WorkspaceFrontendContribution = /** @class */ (function () {
|
|
|
553
563
|
});
|
|
554
564
|
};
|
|
555
565
|
/**
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
*
|
|
566
|
+
* This method ensures a few things about `widget`:
|
|
567
|
+
* - `widget.getResourceUri()` actually returns a URI.
|
|
568
|
+
* - `widget.saveable.createSnapshot` is defined.
|
|
569
|
+
* - `widget.saveable.revert` is defined.
|
|
559
570
|
*/
|
|
560
|
-
WorkspaceFrontendContribution.prototype.
|
|
571
|
+
WorkspaceFrontendContribution.prototype.canBeSavedAs = function (widget) {
|
|
572
|
+
return widget !== undefined
|
|
573
|
+
&& browser_1.Saveable.isSource(widget)
|
|
574
|
+
&& typeof widget.saveable.createSnapshot === 'function'
|
|
575
|
+
&& typeof widget.saveable.revert === 'function'
|
|
576
|
+
&& browser_1.Navigatable.is(widget)
|
|
577
|
+
&& widget.getResourceUri() !== undefined;
|
|
578
|
+
};
|
|
579
|
+
/**
|
|
580
|
+
* Save `sourceWidget` to a new file picked by the user.
|
|
581
|
+
*/
|
|
582
|
+
WorkspaceFrontendContribution.prototype.saveAs = function (sourceWidget) {
|
|
561
583
|
return __awaiter(this, void 0, void 0, function () {
|
|
562
|
-
var exist, overwrite, selected, stat, e_3;
|
|
584
|
+
var exist, overwrite, selected, uri, stat, e_3;
|
|
563
585
|
return __generator(this, function (_a) {
|
|
564
586
|
switch (_a.label) {
|
|
565
587
|
case 0:
|
|
566
588
|
exist = false;
|
|
567
589
|
overwrite = false;
|
|
590
|
+
uri = sourceWidget.getResourceUri();
|
|
568
591
|
return [4 /*yield*/, this.fileService.resolve(uri)];
|
|
569
592
|
case 1:
|
|
570
593
|
stat = _a.sent();
|
|
@@ -589,22 +612,68 @@ var WorkspaceFrontendContribution = /** @class */ (function () {
|
|
|
589
612
|
if (selected && exist && !overwrite) return [3 /*break*/, 2];
|
|
590
613
|
_a.label = 7;
|
|
591
614
|
case 7:
|
|
592
|
-
if (!selected) return [3 /*break*/,
|
|
593
|
-
_a.label = 8;
|
|
594
|
-
case 8:
|
|
595
|
-
_a.trys.push([8, 11, , 12]);
|
|
615
|
+
if (!(selected && selected.isEqual(uri))) return [3 /*break*/, 9];
|
|
596
616
|
return [4 /*yield*/, this.commandRegistry.executeCommand(browser_1.CommonCommands.SAVE.id)];
|
|
597
|
-
case
|
|
617
|
+
case 8:
|
|
598
618
|
_a.sent();
|
|
599
|
-
return [
|
|
619
|
+
return [3 /*break*/, 13];
|
|
620
|
+
case 9:
|
|
621
|
+
if (!selected) return [3 /*break*/, 13];
|
|
622
|
+
_a.label = 10;
|
|
600
623
|
case 10:
|
|
601
|
-
_a.
|
|
602
|
-
return [
|
|
624
|
+
_a.trys.push([10, 12, , 13]);
|
|
625
|
+
return [4 /*yield*/, this.copyAndSave(sourceWidget, selected, overwrite)];
|
|
603
626
|
case 11:
|
|
627
|
+
_a.sent();
|
|
628
|
+
return [3 /*break*/, 13];
|
|
629
|
+
case 12:
|
|
604
630
|
e_3 = _a.sent();
|
|
605
631
|
console.warn(e_3);
|
|
606
|
-
return [3 /*break*/,
|
|
607
|
-
case
|
|
632
|
+
return [3 /*break*/, 13];
|
|
633
|
+
case 13: return [2 /*return*/];
|
|
634
|
+
}
|
|
635
|
+
});
|
|
636
|
+
});
|
|
637
|
+
};
|
|
638
|
+
/**
|
|
639
|
+
* @param sourceWidget widget to save as `target`.
|
|
640
|
+
* @param target The new URI for the widget.
|
|
641
|
+
* @param overwrite
|
|
642
|
+
*/
|
|
643
|
+
WorkspaceFrontendContribution.prototype.copyAndSave = function (sourceWidget, target, overwrite) {
|
|
644
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
645
|
+
var snapshot, targetWidget, targetSaveable;
|
|
646
|
+
return __generator(this, function (_a) {
|
|
647
|
+
switch (_a.label) {
|
|
648
|
+
case 0:
|
|
649
|
+
snapshot = sourceWidget.saveable.createSnapshot();
|
|
650
|
+
return [4 /*yield*/, this.fileService.exists(target)];
|
|
651
|
+
case 1:
|
|
652
|
+
if (!!(_a.sent())) return [3 /*break*/, 3];
|
|
653
|
+
return [4 /*yield*/, this.fileService.copy(sourceWidget.getResourceUri(), target, { overwrite: overwrite })];
|
|
654
|
+
case 2:
|
|
655
|
+
_a.sent();
|
|
656
|
+
_a.label = 3;
|
|
657
|
+
case 3: return [4 /*yield*/, browser_1.open(this.openerService, target)];
|
|
658
|
+
case 4:
|
|
659
|
+
targetWidget = _a.sent();
|
|
660
|
+
targetSaveable = browser_1.Saveable.get(targetWidget);
|
|
661
|
+
if (!(targetWidget && targetSaveable && targetSaveable.applySnapshot)) return [3 /*break*/, 7];
|
|
662
|
+
targetSaveable.applySnapshot(snapshot);
|
|
663
|
+
return [4 /*yield*/, sourceWidget.saveable.revert()];
|
|
664
|
+
case 5:
|
|
665
|
+
_a.sent();
|
|
666
|
+
sourceWidget.close();
|
|
667
|
+
// At this point `targetWidget` should be `applicationShell.currentWidget` for the save command to pick up:
|
|
668
|
+
return [4 /*yield*/, this.commandRegistry.executeCommand(browser_1.CommonCommands.SAVE.id)];
|
|
669
|
+
case 6:
|
|
670
|
+
// At this point `targetWidget` should be `applicationShell.currentWidget` for the save command to pick up:
|
|
671
|
+
_a.sent();
|
|
672
|
+
return [3 /*break*/, 8];
|
|
673
|
+
case 7:
|
|
674
|
+
this.messageService.error('Could not apply changes to new file');
|
|
675
|
+
_a.label = 8;
|
|
676
|
+
case 8: return [2 /*return*/];
|
|
608
677
|
}
|
|
609
678
|
});
|
|
610
679
|
});
|
|
@@ -649,6 +718,14 @@ var WorkspaceFrontendContribution = /** @class */ (function () {
|
|
|
649
718
|
return (_a = this.workspaceService.workspace) === null || _a === void 0 ? void 0 : _a.resource;
|
|
650
719
|
};
|
|
651
720
|
var WorkspaceFrontendContribution_1;
|
|
721
|
+
__decorate([
|
|
722
|
+
inversify_1.inject(browser_1.ApplicationShell),
|
|
723
|
+
__metadata("design:type", browser_1.ApplicationShell)
|
|
724
|
+
], WorkspaceFrontendContribution.prototype, "applicationShell", void 0);
|
|
725
|
+
__decorate([
|
|
726
|
+
inversify_1.inject(common_1.MessageService),
|
|
727
|
+
__metadata("design:type", common_1.MessageService)
|
|
728
|
+
], WorkspaceFrontendContribution.prototype, "messageService", void 0);
|
|
652
729
|
__decorate([
|
|
653
730
|
inversify_1.inject(file_service_1.FileService),
|
|
654
731
|
__metadata("design:type", file_service_1.FileService)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/workspace",
|
|
3
|
-
"version": "1.13.0
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Theia - Workspace Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.13.0
|
|
7
|
-
"@theia/filesystem": "1.13.0
|
|
8
|
-
"@theia/variable-resolver": "1.13.0
|
|
6
|
+
"@theia/core": "1.13.0",
|
|
7
|
+
"@theia/filesystem": "1.13.0",
|
|
8
|
+
"@theia/variable-resolver": "1.13.0",
|
|
9
9
|
"ajv": "^6.5.3",
|
|
10
10
|
"jsonc-parser": "^2.2.0",
|
|
11
11
|
"moment": "2.24.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"test": "theiaext test"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@theia/ext-scripts": "1.13.0
|
|
47
|
+
"@theia/ext-scripts": "1.13.0"
|
|
48
48
|
},
|
|
49
49
|
"nyc": {
|
|
50
50
|
"extends": "../../configs/nyc.json"
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
18
|
-
import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService } from '@theia/core/lib/common';
|
|
18
|
+
import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService, MessageService } from '@theia/core/lib/common';
|
|
19
19
|
import { isOSX, environment, OS } from '@theia/core';
|
|
20
20
|
import {
|
|
21
21
|
open, OpenerService, CommonMenus, StorageService, LabelProvider,
|
|
22
|
-
ConfirmDialog, KeybindingRegistry, KeybindingContribution, CommonCommands, FrontendApplicationContribution
|
|
22
|
+
ConfirmDialog, KeybindingRegistry, KeybindingContribution, CommonCommands, FrontendApplicationContribution, ApplicationShell, Saveable, SaveableSource, Widget, Navigatable
|
|
23
23
|
} from '@theia/core/lib/browser';
|
|
24
24
|
import { FileDialogService, OpenFileDialogProps, FileDialogTreeFilters } from '@theia/filesystem/lib/browser';
|
|
25
25
|
import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
|
|
@@ -29,7 +29,6 @@ import { WorkspaceCommands } from './workspace-commands';
|
|
|
29
29
|
import { QuickOpenWorkspace } from './quick-open-workspace';
|
|
30
30
|
import { WorkspacePreferences } from './workspace-preferences';
|
|
31
31
|
import URI from '@theia/core/lib/common/uri';
|
|
32
|
-
import { UriAwareCommandHandler } from '@theia/core/lib/common/uri-command-handler';
|
|
33
32
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
34
33
|
import { EncodingRegistry } from '@theia/core/lib/browser/encoding-registry';
|
|
35
34
|
import { UTF8 } from '@theia/core/lib/common/encodings';
|
|
@@ -55,6 +54,8 @@ export type WorkspaceState = keyof typeof WorkspaceStates;
|
|
|
55
54
|
@injectable()
|
|
56
55
|
export class WorkspaceFrontendContribution implements CommandContribution, KeybindingContribution, MenuContribution, FrontendApplicationContribution {
|
|
57
56
|
|
|
57
|
+
@inject(ApplicationShell) protected readonly applicationShell: ApplicationShell;
|
|
58
|
+
@inject(MessageService) protected readonly messageService: MessageService;
|
|
58
59
|
@inject(FileService) protected readonly fileService: FileService;
|
|
59
60
|
@inject(OpenerService) protected readonly openerService: OpenerService;
|
|
60
61
|
@inject(WorkspaceService) protected readonly workspaceService: WorkspaceService;
|
|
@@ -149,10 +150,19 @@ export class WorkspaceFrontendContribution implements CommandContribution, Keybi
|
|
|
149
150
|
isEnabled: () => this.workspaceService.isMultiRootWorkspaceEnabled,
|
|
150
151
|
execute: () => this.saveWorkspaceAs()
|
|
151
152
|
});
|
|
152
|
-
commands.registerCommand(WorkspaceCommands.SAVE_AS,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
commands.registerCommand(WorkspaceCommands.SAVE_AS, {
|
|
154
|
+
isEnabled: () => this.canBeSavedAs(this.applicationShell.currentWidget),
|
|
155
|
+
execute: () => {
|
|
156
|
+
const { currentWidget } = this.applicationShell;
|
|
157
|
+
// No clue what could have happened between `isEnabled` and `execute`
|
|
158
|
+
// when fetching currentWidget, so better to double-check:
|
|
159
|
+
if (this.canBeSavedAs(currentWidget)) {
|
|
160
|
+
this.saveAs(currentWidget);
|
|
161
|
+
} else {
|
|
162
|
+
this.messageService.error(`Cannot run "${WorkspaceCommands.SAVE_AS.label}" for the current widget.`);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
});
|
|
156
166
|
commands.registerCommand(WorkspaceCommands.OPEN_WORKSPACE_FILE, {
|
|
157
167
|
isEnabled: () => this.workspaceService.saved,
|
|
158
168
|
execute: () => {
|
|
@@ -160,6 +170,7 @@ export class WorkspaceFrontendContribution implements CommandContribution, Keybi
|
|
|
160
170
|
open(this.openerService, this.workspaceService.workspace.resource);
|
|
161
171
|
}
|
|
162
172
|
}
|
|
173
|
+
|
|
163
174
|
});
|
|
164
175
|
}
|
|
165
176
|
|
|
@@ -401,14 +412,28 @@ export class WorkspaceFrontendContribution implements CommandContribution, Keybi
|
|
|
401
412
|
}
|
|
402
413
|
|
|
403
414
|
/**
|
|
404
|
-
*
|
|
405
|
-
*
|
|
406
|
-
*
|
|
415
|
+
* This method ensures a few things about `widget`:
|
|
416
|
+
* - `widget.getResourceUri()` actually returns a URI.
|
|
417
|
+
* - `widget.saveable.createSnapshot` is defined.
|
|
418
|
+
* - `widget.saveable.revert` is defined.
|
|
419
|
+
*/
|
|
420
|
+
protected canBeSavedAs(widget: Widget | undefined): widget is Widget & SaveableSource & Navigatable {
|
|
421
|
+
return widget !== undefined
|
|
422
|
+
&& Saveable.isSource(widget)
|
|
423
|
+
&& typeof widget.saveable.createSnapshot === 'function'
|
|
424
|
+
&& typeof widget.saveable.revert === 'function'
|
|
425
|
+
&& Navigatable.is(widget)
|
|
426
|
+
&& widget.getResourceUri() !== undefined;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Save `sourceWidget` to a new file picked by the user.
|
|
407
431
|
*/
|
|
408
|
-
protected async saveAs(
|
|
432
|
+
protected async saveAs(sourceWidget: Widget & SaveableSource & Navigatable): Promise<void> {
|
|
409
433
|
let exist: boolean = false;
|
|
410
434
|
let overwrite: boolean = false;
|
|
411
435
|
let selected: URI | undefined;
|
|
436
|
+
const uri = sourceWidget.getResourceUri()!;
|
|
412
437
|
const stat = await this.fileService.resolve(uri);
|
|
413
438
|
do {
|
|
414
439
|
selected = await this.fileDialogService.showSaveDialog(
|
|
@@ -424,16 +449,40 @@ export class WorkspaceFrontendContribution implements CommandContribution, Keybi
|
|
|
424
449
|
}
|
|
425
450
|
}
|
|
426
451
|
} while (selected && exist && !overwrite);
|
|
427
|
-
if (selected) {
|
|
452
|
+
if (selected && selected.isEqual(uri)) {
|
|
453
|
+
await this.commandRegistry.executeCommand(CommonCommands.SAVE.id);
|
|
454
|
+
} else if (selected) {
|
|
428
455
|
try {
|
|
429
|
-
await this.
|
|
430
|
-
await this.fileService.copy(uri, selected, { overwrite });
|
|
456
|
+
await this.copyAndSave(sourceWidget, selected, overwrite);
|
|
431
457
|
} catch (e) {
|
|
432
458
|
console.warn(e);
|
|
433
459
|
}
|
|
434
460
|
}
|
|
435
461
|
}
|
|
436
462
|
|
|
463
|
+
/**
|
|
464
|
+
* @param sourceWidget widget to save as `target`.
|
|
465
|
+
* @param target The new URI for the widget.
|
|
466
|
+
* @param overwrite
|
|
467
|
+
*/
|
|
468
|
+
private async copyAndSave(sourceWidget: Widget & SaveableSource & Navigatable, target: URI, overwrite: boolean): Promise<void> {
|
|
469
|
+
const snapshot = sourceWidget.saveable.createSnapshot!();
|
|
470
|
+
if (!await this.fileService.exists(target)) {
|
|
471
|
+
await this.fileService.copy(sourceWidget.getResourceUri()!, target, { overwrite });
|
|
472
|
+
}
|
|
473
|
+
const targetWidget = await open(this.openerService, target);
|
|
474
|
+
const targetSaveable = Saveable.get(targetWidget);
|
|
475
|
+
if (targetWidget && targetSaveable && targetSaveable.applySnapshot) {
|
|
476
|
+
targetSaveable.applySnapshot(snapshot);
|
|
477
|
+
await sourceWidget.saveable.revert!();
|
|
478
|
+
sourceWidget.close();
|
|
479
|
+
// At this point `targetWidget` should be `applicationShell.currentWidget` for the save command to pick up:
|
|
480
|
+
await this.commandRegistry.executeCommand(CommonCommands.SAVE.id);
|
|
481
|
+
} else {
|
|
482
|
+
this.messageService.error('Could not apply changes to new file');
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
|
|
437
486
|
protected updateWorkspaceStateKey(): WorkspaceState {
|
|
438
487
|
if (this.workspaceService.opened) {
|
|
439
488
|
return this.workspaceService.isMultiRootWorkspaceOpened ? 'folder' : 'workspace';
|