@theia/navigator 1.34.0-next.39 → 1.34.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/electron-browser/electron-navigator-menu-contribution.d.ts +4 -1
- package/lib/electron-browser/electron-navigator-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/electron-navigator-menu-contribution.js +22 -9
- package/lib/electron-browser/electron-navigator-menu-contribution.js.map +1 -1
- package/package.json +6 -6
- package/src/electron-browser/electron-navigator-menu-contribution.ts +22 -11
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core';
|
|
1
|
+
import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService } from '@theia/core';
|
|
2
2
|
import { KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
|
|
3
3
|
import { WidgetManager } from '@theia/core/lib/browser/widget-manager';
|
|
4
4
|
import { FileStatNode } from '@theia/filesystem/lib/browser';
|
|
5
5
|
import { FileNavigatorWidget } from '../browser';
|
|
6
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
6
7
|
export declare const OPEN_CONTAINING_FOLDER: Command;
|
|
7
8
|
export declare class ElectronNavigatorMenuContribution implements MenuContribution, CommandContribution, KeybindingContribution {
|
|
9
|
+
protected readonly selectionService: SelectionService;
|
|
8
10
|
protected readonly widgetManager: WidgetManager;
|
|
11
|
+
protected readonly workspaceService: WorkspaceService;
|
|
9
12
|
registerCommands(commands: CommandRegistry): void;
|
|
10
13
|
registerMenus(menus: MenuModelRegistry): void;
|
|
11
14
|
registerKeybindings(keybindings: KeybindingRegistry): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-navigator-menu-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/electron-navigator-menu-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-navigator-menu-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/electron-navigator-menu-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,EAAkB,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAIvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AAIpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,eAAO,MAAM,sBAAsB,SAMjC,CAAC;AAEH,qBACa,iCAAkC,YAAW,gBAAgB,EAAE,mBAAmB,EAAE,sBAAsB;IAGnH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAajD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAY7C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAQ1D,SAAS,CAAC,wBAAwB,IAAI,YAAY,EAAE;IAKpD,qBAAqB,IAAI,mBAAmB,GAAG,SAAS;CAI3D"}
|
|
@@ -35,6 +35,8 @@ const browser_2 = require("@theia/filesystem/lib/browser");
|
|
|
35
35
|
const browser_3 = require("../browser");
|
|
36
36
|
const navigator_contribution_1 = require("../browser/navigator-contribution");
|
|
37
37
|
const os_1 = require("@theia/core/lib/common/os");
|
|
38
|
+
const uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
|
|
39
|
+
const browser_4 = require("@theia/workspace/lib/browser");
|
|
38
40
|
exports.OPEN_CONTAINING_FOLDER = core_1.Command.toDefaultLocalizedCommand({
|
|
39
41
|
id: 'revealFileInOS',
|
|
40
42
|
category: browser_1.CommonCommands.FILE_CATEGORY,
|
|
@@ -44,24 +46,27 @@ exports.OPEN_CONTAINING_FOLDER = core_1.Command.toDefaultLocalizedCommand({
|
|
|
44
46
|
});
|
|
45
47
|
let ElectronNavigatorMenuContribution = class ElectronNavigatorMenuContribution {
|
|
46
48
|
registerCommands(commands) {
|
|
47
|
-
commands.registerCommand(exports.OPEN_CONTAINING_FOLDER, {
|
|
48
|
-
|
|
49
|
-
isVisible: () => this.getSelectedFileStatNodes().length > 0,
|
|
50
|
-
execute: () => {
|
|
49
|
+
commands.registerCommand(exports.OPEN_CONTAINING_FOLDER, uri_command_handler_1.UriAwareCommandHandler.MonoSelect(this.selectionService, {
|
|
50
|
+
execute: async (uri) => {
|
|
51
51
|
// workaround for https://github.com/electron/electron/issues/4349:
|
|
52
52
|
// use electron.remote.shell to open the window in the foreground on Windows
|
|
53
53
|
const shell = os_1.isWindows ? electronRemote.shell : electron.shell;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
54
|
+
shell.showItemInFolder(uri['codeUri'].fsPath);
|
|
55
|
+
},
|
|
56
|
+
isEnabled: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
|
|
57
|
+
isVisible: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
|
|
58
|
+
}));
|
|
59
59
|
}
|
|
60
60
|
registerMenus(menus) {
|
|
61
61
|
menus.registerMenuAction(navigator_contribution_1.NavigatorContextMenu.NAVIGATION, {
|
|
62
62
|
commandId: exports.OPEN_CONTAINING_FOLDER.id,
|
|
63
63
|
label: exports.OPEN_CONTAINING_FOLDER.label
|
|
64
64
|
});
|
|
65
|
+
menus.registerMenuAction(navigator_contribution_1.SHELL_TABBAR_CONTEXT_REVEAL, {
|
|
66
|
+
commandId: exports.OPEN_CONTAINING_FOLDER.id,
|
|
67
|
+
label: exports.OPEN_CONTAINING_FOLDER.label,
|
|
68
|
+
order: '4'
|
|
69
|
+
});
|
|
65
70
|
}
|
|
66
71
|
registerKeybindings(keybindings) {
|
|
67
72
|
keybindings.registerKeybinding({
|
|
@@ -78,10 +83,18 @@ let ElectronNavigatorMenuContribution = class ElectronNavigatorMenuContribution
|
|
|
78
83
|
return this.widgetManager.tryGetWidget(browser_3.FILE_NAVIGATOR_ID);
|
|
79
84
|
}
|
|
80
85
|
};
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, inversify_1.inject)(core_1.SelectionService),
|
|
88
|
+
__metadata("design:type", core_1.SelectionService)
|
|
89
|
+
], ElectronNavigatorMenuContribution.prototype, "selectionService", void 0);
|
|
81
90
|
__decorate([
|
|
82
91
|
(0, inversify_1.inject)(widget_manager_1.WidgetManager),
|
|
83
92
|
__metadata("design:type", widget_manager_1.WidgetManager)
|
|
84
93
|
], ElectronNavigatorMenuContribution.prototype, "widgetManager", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, inversify_1.inject)(browser_4.WorkspaceService),
|
|
96
|
+
__metadata("design:type", browser_4.WorkspaceService)
|
|
97
|
+
], ElectronNavigatorMenuContribution.prototype, "workspaceService", void 0);
|
|
85
98
|
ElectronNavigatorMenuContribution = __decorate([
|
|
86
99
|
(0, inversify_1.injectable)()
|
|
87
100
|
], ElectronNavigatorMenuContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-navigator-menu-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/electron-navigator-menu-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"electron-navigator-menu-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/electron-navigator-menu-contribution.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/navigator",
|
|
3
|
-
"version": "1.34.0
|
|
3
|
+
"version": "1.34.0",
|
|
4
4
|
"description": "Theia - Navigator Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.34.0
|
|
7
|
-
"@theia/filesystem": "1.34.0
|
|
8
|
-
"@theia/workspace": "1.34.0
|
|
6
|
+
"@theia/core": "1.34.0",
|
|
7
|
+
"@theia/filesystem": "1.34.0",
|
|
8
|
+
"@theia/workspace": "1.34.0",
|
|
9
9
|
"minimatch": "^5.1.0"
|
|
10
10
|
},
|
|
11
11
|
"publishConfig": {
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"watch": "theiaext watch"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@theia/ext-scripts": "1.
|
|
47
|
+
"@theia/ext-scripts": "1.34.0"
|
|
48
48
|
},
|
|
49
49
|
"nyc": {
|
|
50
50
|
"extends": "../../configs/nyc.json"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "a8c403b103829a1b8b092ce741ef3826804f773b"
|
|
53
53
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core';
|
|
17
|
+
import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, SelectionService } from '@theia/core';
|
|
18
18
|
import { CommonCommands, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
|
|
19
19
|
import { WidgetManager } from '@theia/core/lib/browser/widget-manager';
|
|
20
20
|
import * as electron from '@theia/core/electron-shared/electron';
|
|
@@ -22,8 +22,10 @@ import * as electronRemote from '@theia/core/electron-shared/@electron/remote';
|
|
|
22
22
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
23
23
|
import { FileStatNode } from '@theia/filesystem/lib/browser';
|
|
24
24
|
import { FileNavigatorWidget, FILE_NAVIGATOR_ID } from '../browser';
|
|
25
|
-
import { NavigatorContextMenu } from '../browser/navigator-contribution';
|
|
25
|
+
import { NavigatorContextMenu, SHELL_TABBAR_CONTEXT_REVEAL } from '../browser/navigator-contribution';
|
|
26
26
|
import { isWindows, isOSX } from '@theia/core/lib/common/os';
|
|
27
|
+
import { UriAwareCommandHandler } from '@theia/core/lib/common/uri-command-handler';
|
|
28
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
27
29
|
|
|
28
30
|
export const OPEN_CONTAINING_FOLDER = Command.toDefaultLocalizedCommand({
|
|
29
31
|
id: 'revealFileInOS',
|
|
@@ -36,22 +38,26 @@ export const OPEN_CONTAINING_FOLDER = Command.toDefaultLocalizedCommand({
|
|
|
36
38
|
@injectable()
|
|
37
39
|
export class ElectronNavigatorMenuContribution implements MenuContribution, CommandContribution, KeybindingContribution {
|
|
38
40
|
|
|
41
|
+
@inject(SelectionService)
|
|
42
|
+
protected readonly selectionService: SelectionService;
|
|
43
|
+
|
|
39
44
|
@inject(WidgetManager)
|
|
40
45
|
protected readonly widgetManager: WidgetManager;
|
|
41
46
|
|
|
47
|
+
@inject(WorkspaceService)
|
|
48
|
+
protected readonly workspaceService: WorkspaceService;
|
|
49
|
+
|
|
42
50
|
registerCommands(commands: CommandRegistry): void {
|
|
43
|
-
commands.registerCommand(OPEN_CONTAINING_FOLDER, {
|
|
44
|
-
|
|
45
|
-
isVisible: () => this.getSelectedFileStatNodes().length > 0,
|
|
46
|
-
execute: () => {
|
|
51
|
+
commands.registerCommand(OPEN_CONTAINING_FOLDER, UriAwareCommandHandler.MonoSelect(this.selectionService, {
|
|
52
|
+
execute: async uri => {
|
|
47
53
|
// workaround for https://github.com/electron/electron/issues/4349:
|
|
48
54
|
// use electron.remote.shell to open the window in the foreground on Windows
|
|
49
55
|
const shell = isWindows ? electronRemote.shell : electron.shell;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
56
|
+
shell.showItemInFolder(uri['codeUri'].fsPath);
|
|
57
|
+
},
|
|
58
|
+
isEnabled: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
|
|
59
|
+
isVisible: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
|
|
60
|
+
}));
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
registerMenus(menus: MenuModelRegistry): void {
|
|
@@ -59,6 +65,11 @@ export class ElectronNavigatorMenuContribution implements MenuContribution, Comm
|
|
|
59
65
|
commandId: OPEN_CONTAINING_FOLDER.id,
|
|
60
66
|
label: OPEN_CONTAINING_FOLDER.label
|
|
61
67
|
});
|
|
68
|
+
menus.registerMenuAction(SHELL_TABBAR_CONTEXT_REVEAL, {
|
|
69
|
+
commandId: OPEN_CONTAINING_FOLDER.id,
|
|
70
|
+
label: OPEN_CONTAINING_FOLDER.label,
|
|
71
|
+
order: '4'
|
|
72
|
+
});
|
|
62
73
|
}
|
|
63
74
|
|
|
64
75
|
registerKeybindings(keybindings: KeybindingRegistry): void {
|