@theia/navigator 1.67.0-next.3 → 1.67.0-next.56

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 (122) hide show
  1. package/README.md +1 -1
  2. package/package.json +5 -5
  3. package/lib/browser/abstract-navigator-tree-widget.d.ts +0 -11
  4. package/lib/browser/abstract-navigator-tree-widget.d.ts.map +0 -1
  5. package/lib/browser/abstract-navigator-tree-widget.js +0 -62
  6. package/lib/browser/abstract-navigator-tree-widget.js.map +0 -1
  7. package/lib/browser/file-navigator-commands.d.ts +0 -19
  8. package/lib/browser/file-navigator-commands.d.ts.map +0 -1
  9. package/lib/browser/file-navigator-commands.js +0 -76
  10. package/lib/browser/file-navigator-commands.js.map +0 -1
  11. package/lib/browser/index.d.ts +0 -5
  12. package/lib/browser/index.d.ts.map +0 -1
  13. package/lib/browser/index.js +0 -23
  14. package/lib/browser/index.js.map +0 -1
  15. package/lib/browser/navigator-container.d.ts +0 -7
  16. package/lib/browser/navigator-container.d.ts.map +0 -1
  17. package/lib/browser/navigator-container.js +0 -48
  18. package/lib/browser/navigator-container.js.map +0 -1
  19. package/lib/browser/navigator-context-key-service.d.ts +0 -21
  20. package/lib/browser/navigator-context-key-service.d.ts.map +0 -1
  21. package/lib/browser/navigator-context-key-service.js +0 -65
  22. package/lib/browser/navigator-context-key-service.js.map +0 -1
  23. package/lib/browser/navigator-contribution.d.ts +0 -111
  24. package/lib/browser/navigator-contribution.d.ts.map +0 -1
  25. package/lib/browser/navigator-contribution.js +0 -616
  26. package/lib/browser/navigator-contribution.js.map +0 -1
  27. package/lib/browser/navigator-decorator-service.d.ts +0 -14
  28. package/lib/browser/navigator-decorator-service.d.ts.map +0 -1
  29. package/lib/browser/navigator-decorator-service.js +0 -43
  30. package/lib/browser/navigator-decorator-service.js.map +0 -1
  31. package/lib/browser/navigator-diff.d.ts +0 -39
  32. package/lib/browser/navigator-diff.d.ts.map +0 -1
  33. package/lib/browser/navigator-diff.js +0 -131
  34. package/lib/browser/navigator-diff.js.map +0 -1
  35. package/lib/browser/navigator-diff.spec.d.ts +0 -2
  36. package/lib/browser/navigator-diff.spec.d.ts.map +0 -1
  37. package/lib/browser/navigator-diff.spec.js +0 -100
  38. package/lib/browser/navigator-diff.spec.js.map +0 -1
  39. package/lib/browser/navigator-filter.d.ts +0 -72
  40. package/lib/browser/navigator-filter.d.ts.map +0 -1
  41. package/lib/browser/navigator-filter.js +0 -130
  42. package/lib/browser/navigator-filter.js.map +0 -1
  43. package/lib/browser/navigator-filter.spec.d.ts +0 -2
  44. package/lib/browser/navigator-filter.spec.d.ts.map +0 -1
  45. package/lib/browser/navigator-filter.spec.js +0 -131
  46. package/lib/browser/navigator-filter.spec.js.map +0 -1
  47. package/lib/browser/navigator-frontend-module.d.ts +0 -6
  48. package/lib/browser/navigator-frontend-module.d.ts.map +0 -1
  49. package/lib/browser/navigator-frontend-module.js +0 -76
  50. package/lib/browser/navigator-frontend-module.js.map +0 -1
  51. package/lib/browser/navigator-layout-migrations.d.ts +0 -10
  52. package/lib/browser/navigator-layout-migrations.d.ts.map +0 -1
  53. package/lib/browser/navigator-layout-migrations.js +0 -76
  54. package/lib/browser/navigator-layout-migrations.js.map +0 -1
  55. package/lib/browser/navigator-model.d.ts +0 -44
  56. package/lib/browser/navigator-model.d.ts.map +0 -1
  57. package/lib/browser/navigator-model.js +0 -229
  58. package/lib/browser/navigator-model.js.map +0 -1
  59. package/lib/browser/navigator-symlink-decorator.d.ts +0 -14
  60. package/lib/browser/navigator-symlink-decorator.d.ts.map +0 -1
  61. package/lib/browser/navigator-symlink-decorator.js +0 -74
  62. package/lib/browser/navigator-symlink-decorator.js.map +0 -1
  63. package/lib/browser/navigator-tab-bar-decorator.d.ts +0 -17
  64. package/lib/browser/navigator-tab-bar-decorator.d.ts.map +0 -1
  65. package/lib/browser/navigator-tab-bar-decorator.js +0 -71
  66. package/lib/browser/navigator-tab-bar-decorator.js.map +0 -1
  67. package/lib/browser/navigator-tree.d.ts +0 -43
  68. package/lib/browser/navigator-tree.d.ts.map +0 -1
  69. package/lib/browser/navigator-tree.js +0 -125
  70. package/lib/browser/navigator-tree.js.map +0 -1
  71. package/lib/browser/navigator-widget-factory.d.ts +0 -13
  72. package/lib/browser/navigator-widget-factory.d.ts.map +0 -1
  73. package/lib/browser/navigator-widget-factory.js +0 -76
  74. package/lib/browser/navigator-widget-factory.js.map +0 -1
  75. package/lib/browser/navigator-widget.d.ts +0 -46
  76. package/lib/browser/navigator-widget.d.ts.map +0 -1
  77. package/lib/browser/navigator-widget.js +0 -210
  78. package/lib/browser/navigator-widget.js.map +0 -1
  79. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts +0 -16
  80. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts.map +0 -1
  81. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js +0 -105
  82. package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js.map +0 -1
  83. package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts +0 -8
  84. package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts.map +0 -1
  85. package/lib/browser/open-editors-widget/navigator-open-editors-commands.js +0 -48
  86. package/lib/browser/open-editors-widget/navigator-open-editors-commands.js.map +0 -1
  87. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts +0 -8
  88. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts.map +0 -1
  89. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js +0 -37
  90. package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js.map +0 -1
  91. package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts +0 -10
  92. package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts.map +0 -1
  93. package/lib/browser/open-editors-widget/navigator-open-editors-menus.js +0 -28
  94. package/lib/browser/open-editors-widget/navigator-open-editors-menus.js.map +0 -1
  95. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts +0 -39
  96. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts.map +0 -1
  97. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js +0 -251
  98. package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js.map +0 -1
  99. package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts +0 -46
  100. package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts.map +0 -1
  101. package/lib/browser/open-editors-widget/navigator-open-editors-widget.js +0 -225
  102. package/lib/browser/open-editors-widget/navigator-open-editors-widget.js.map +0 -1
  103. package/lib/common/navigator-preferences.d.ts +0 -15
  104. package/lib/common/navigator-preferences.d.ts.map +0 -1
  105. package/lib/common/navigator-preferences.js +0 -58
  106. package/lib/common/navigator-preferences.js.map +0 -1
  107. package/lib/electron-browser/electron-navigator-menu-contribution.d.ts +0 -22
  108. package/lib/electron-browser/electron-navigator-menu-contribution.d.ts.map +0 -1
  109. package/lib/electron-browser/electron-navigator-menu-contribution.js +0 -120
  110. package/lib/electron-browser/electron-navigator-menu-contribution.js.map +0 -1
  111. package/lib/electron-browser/electron-navigator-module.d.ts +0 -4
  112. package/lib/electron-browser/electron-navigator-module.d.ts.map +0 -1
  113. package/lib/electron-browser/electron-navigator-module.js +0 -27
  114. package/lib/electron-browser/electron-navigator-module.js.map +0 -1
  115. package/lib/node/navigator-backend-module.d.ts +0 -4
  116. package/lib/node/navigator-backend-module.d.ts.map +0 -1
  117. package/lib/node/navigator-backend-module.js +0 -23
  118. package/lib/node/navigator-backend-module.js.map +0 -1
  119. package/lib/package.spec.d.ts +0 -1
  120. package/lib/package.spec.d.ts.map +0 -1
  121. package/lib/package.spec.js +0 -26
  122. package/lib/package.spec.js.map +0 -1
@@ -1,616 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2017-2018 TypeFox and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.FileNavigatorContribution = exports.FILE_NAVIGATOR_TOGGLE_COMMAND_ID = exports.NavigatorContextMenu = exports.SHELL_TABBAR_CONTEXT_REVEAL = exports.NAVIGATOR_CONTEXT_MENU = exports.NavigatorMoreToolbarGroups = exports.FileNavigatorCommands = void 0;
19
- const tslib_1 = require("tslib");
20
- const inversify_1 = require("@theia/core/shared/inversify");
21
- const view_contribution_1 = require("@theia/core/lib/browser/shell/view-contribution");
22
- const browser_1 = require("@theia/core/lib/browser");
23
- const file_download_command_contribution_1 = require("@theia/filesystem/lib/browser/download/file-download-command-contribution");
24
- const common_1 = require("@theia/core/lib/common");
25
- const browser_2 = require("@theia/workspace/lib/browser");
26
- const navigator_widget_factory_1 = require("./navigator-widget-factory");
27
- const navigator_widget_1 = require("./navigator-widget");
28
- const navigator_preferences_1 = require("../common/navigator-preferences");
29
- const navigator_filter_1 = require("./navigator-filter");
30
- const navigator_tree_1 = require("./navigator-tree");
31
- const navigator_context_key_service_1 = require("./navigator-context-key-service");
32
- const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
33
- const filesystem_frontend_contribution_1 = require("@theia/filesystem/lib/browser/filesystem-frontend-contribution");
34
- const navigator_diff_1 = require("./navigator-diff");
35
- const browser_3 = require("@theia/filesystem/lib/browser");
36
- const clipboard_service_1 = require("@theia/core/lib/browser/clipboard-service");
37
- const selection_service_1 = require("@theia/core/lib/common/selection-service");
38
- const navigator_open_editors_widget_1 = require("./open-editors-widget/navigator-open-editors-widget");
39
- const navigator_open_editors_menus_1 = require("./open-editors-widget/navigator-open-editors-menus");
40
- const navigator_open_editors_commands_1 = require("./open-editors-widget/navigator-open-editors-commands");
41
- const nls_1 = require("@theia/core/lib/common/nls");
42
- const uri_command_handler_1 = require("@theia/core/lib/common/uri-command-handler");
43
- const file_navigator_commands_1 = require("./file-navigator-commands");
44
- Object.defineProperty(exports, "FileNavigatorCommands", { enumerable: true, get: function () { return file_navigator_commands_1.FileNavigatorCommands; } });
45
- const common_2 = require("@theia/workspace/lib/common");
46
- /**
47
- * Navigator `More Actions...` toolbar item groups.
48
- * Used in order to group items present in the toolbar.
49
- */
50
- var NavigatorMoreToolbarGroups;
51
- (function (NavigatorMoreToolbarGroups) {
52
- NavigatorMoreToolbarGroups.NEW_OPEN = '1_navigator_new_open';
53
- NavigatorMoreToolbarGroups.TOOLS = '2_navigator_tools';
54
- NavigatorMoreToolbarGroups.WORKSPACE = '3_navigator_workspace';
55
- })(NavigatorMoreToolbarGroups || (exports.NavigatorMoreToolbarGroups = NavigatorMoreToolbarGroups = {}));
56
- exports.NAVIGATOR_CONTEXT_MENU = ['navigator-context-menu'];
57
- exports.SHELL_TABBAR_CONTEXT_REVEAL = [...browser_1.SHELL_TABBAR_CONTEXT_MENU, '2_reveal'];
58
- /**
59
- * Navigator context menu default groups should be aligned
60
- * with VS Code default groups: https://code.visualstudio.com/api/references/contribution-points#contributes.menus
61
- */
62
- var NavigatorContextMenu;
63
- (function (NavigatorContextMenu) {
64
- NavigatorContextMenu.NAVIGATION = [...exports.NAVIGATOR_CONTEXT_MENU, 'navigation'];
65
- /** @deprecated use NAVIGATION */
66
- NavigatorContextMenu.OPEN = NavigatorContextMenu.NAVIGATION;
67
- /** @deprecated use NAVIGATION */
68
- NavigatorContextMenu.NEW = NavigatorContextMenu.NAVIGATION;
69
- NavigatorContextMenu.WORKSPACE = [...exports.NAVIGATOR_CONTEXT_MENU, '2_workspace'];
70
- NavigatorContextMenu.COMPARE = [...exports.NAVIGATOR_CONTEXT_MENU, '3_compare'];
71
- /** @deprecated use COMPARE */
72
- NavigatorContextMenu.DIFF = NavigatorContextMenu.COMPARE;
73
- NavigatorContextMenu.SEARCH = [...exports.NAVIGATOR_CONTEXT_MENU, '4_search'];
74
- NavigatorContextMenu.CLIPBOARD = [...exports.NAVIGATOR_CONTEXT_MENU, '5_cutcopypaste'];
75
- NavigatorContextMenu.MODIFICATION = [...exports.NAVIGATOR_CONTEXT_MENU, '7_modification'];
76
- /** @deprecated use MODIFICATION */
77
- NavigatorContextMenu.MOVE = NavigatorContextMenu.MODIFICATION;
78
- /** @deprecated use MODIFICATION */
79
- NavigatorContextMenu.ACTIONS = NavigatorContextMenu.MODIFICATION;
80
- /** @deprecated use the `FileNavigatorCommands.OPEN_WITH` command */
81
- NavigatorContextMenu.OPEN_WITH = [...NavigatorContextMenu.NAVIGATION, 'open_with'];
82
- })(NavigatorContextMenu || (exports.NavigatorContextMenu = NavigatorContextMenu = {}));
83
- exports.FILE_NAVIGATOR_TOGGLE_COMMAND_ID = 'fileNavigator:toggle';
84
- let FileNavigatorContribution = class FileNavigatorContribution extends view_contribution_1.AbstractViewContribution {
85
- constructor(fileNavigatorPreferences, openerService, fileNavigatorFilter, workspaceService, workspacePreferences) {
86
- super({
87
- viewContainerId: navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_ID,
88
- widgetId: navigator_widget_1.FILE_NAVIGATOR_ID,
89
- widgetName: navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS.label,
90
- defaultWidgetOptions: {
91
- area: 'left',
92
- rank: 100
93
- },
94
- toggleCommandId: exports.FILE_NAVIGATOR_TOGGLE_COMMAND_ID,
95
- toggleKeybinding: 'ctrlcmd+shift+e'
96
- });
97
- this.fileNavigatorPreferences = fileNavigatorPreferences;
98
- this.openerService = openerService;
99
- this.fileNavigatorFilter = fileNavigatorFilter;
100
- this.workspaceService = workspaceService;
101
- this.workspacePreferences = workspacePreferences;
102
- /**
103
- * Register commands to the `More Actions...` navigator toolbar item.
104
- */
105
- this.registerMoreToolbarItem = (item) => {
106
- const commandId = item.command;
107
- const id = 'navigator.tabbar.toolbar.' + commandId;
108
- const command = this.commandRegistry.getCommand(commandId);
109
- this.commandRegistry.registerCommand({ id, iconClass: command && command.iconClass }, {
110
- execute: (w, ...args) => w instanceof navigator_widget_1.FileNavigatorWidget
111
- && this.commandRegistry.executeCommand(commandId, ...args),
112
- isEnabled: (w, ...args) => w instanceof navigator_widget_1.FileNavigatorWidget
113
- && this.commandRegistry.isEnabled(commandId, ...args),
114
- isVisible: (w, ...args) => w instanceof navigator_widget_1.FileNavigatorWidget
115
- && this.commandRegistry.isVisible(commandId, ...args),
116
- isToggled: (w, ...args) => w instanceof navigator_widget_1.FileNavigatorWidget
117
- && this.commandRegistry.isToggled(commandId, ...args),
118
- });
119
- item.command = id;
120
- this.tabbarToolbarRegistry.registerItem(item);
121
- };
122
- }
123
- init() {
124
- this.doInit();
125
- }
126
- async doInit() {
127
- await this.fileNavigatorPreferences.ready;
128
- this.shell.onDidChangeCurrentWidget(() => this.onCurrentWidgetChangedHandler());
129
- const updateFocusContextKeys = () => {
130
- const hasFocus = this.shell.activeWidget instanceof navigator_widget_1.FileNavigatorWidget;
131
- this.contextKeyService.explorerViewletFocus.set(hasFocus);
132
- this.contextKeyService.filesExplorerFocus.set(hasFocus);
133
- };
134
- updateFocusContextKeys();
135
- this.shell.onDidChangeActiveWidget(updateFocusContextKeys);
136
- this.workspaceCommandContribution.onDidCreateNewFile(async (event) => this.onDidCreateNewResource(event));
137
- this.workspaceCommandContribution.onDidCreateNewFolder(async (event) => this.onDidCreateNewResource(event));
138
- }
139
- async onDidCreateNewResource(event) {
140
- const navigator = this.tryGetWidget();
141
- if (!navigator || !navigator.isVisible) {
142
- return;
143
- }
144
- const model = navigator.model;
145
- const parent = await model.revealFile(event.parent);
146
- if (browser_3.DirNode.is(parent)) {
147
- await model.refresh(parent);
148
- }
149
- const node = await model.revealFile(event.uri);
150
- if (browser_1.SelectableTreeNode.is(node)) {
151
- model.selectNode(node);
152
- if (browser_3.DirNode.is(node)) {
153
- this.openView({ activate: true });
154
- }
155
- }
156
- }
157
- async initializeLayout(app) {
158
- await this.openView();
159
- }
160
- registerCommands(registry) {
161
- super.registerCommands(registry);
162
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.FOCUS, {
163
- execute: () => this.openView({ activate: true })
164
- });
165
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.REVEAL_IN_NAVIGATOR, uri_command_handler_1.UriAwareCommandHandler.MonoSelect(this.selectionService, {
166
- execute: async (uri) => {
167
- if (await this.selectFileNode(uri)) {
168
- this.openView({ activate: false, reveal: true });
169
- }
170
- },
171
- isEnabled: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
172
- isVisible: uri => !!this.workspaceService.getWorkspaceRootUri(uri),
173
- }));
174
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.TOGGLE_HIDDEN_FILES, {
175
- execute: () => {
176
- this.fileNavigatorFilter.toggleHiddenFiles();
177
- },
178
- isEnabled: () => true,
179
- isVisible: () => true
180
- });
181
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.TOGGLE_AUTO_REVEAL, {
182
- isEnabled: widget => this.withWidget(widget, () => this.workspaceService.opened),
183
- isVisible: widget => this.withWidget(widget, () => this.workspaceService.opened),
184
- execute: () => {
185
- const autoReveal = !this.fileNavigatorPreferences['explorer.autoReveal'];
186
- this.preferenceService.set('explorer.autoReveal', autoReveal, common_1.PreferenceScope.User);
187
- if (autoReveal) {
188
- this.selectWidgetFileNode(this.shell.currentWidget);
189
- }
190
- },
191
- isToggled: () => this.fileNavigatorPreferences['explorer.autoReveal']
192
- });
193
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.COLLAPSE_ALL, {
194
- execute: widget => this.withWidget(widget, () => this.collapseFileNavigatorTree()),
195
- isEnabled: widget => this.withWidget(widget, () => this.workspaceService.opened),
196
- isVisible: widget => this.withWidget(widget, () => this.workspaceService.opened)
197
- });
198
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.REFRESH_NAVIGATOR, {
199
- execute: widget => this.withWidget(widget, () => this.refreshWorkspace()),
200
- isEnabled: widget => this.withWidget(widget, () => this.workspaceService.opened),
201
- isVisible: widget => this.withWidget(widget, () => this.workspaceService.opened)
202
- });
203
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.ADD_ROOT_FOLDER, {
204
- execute: (...args) => registry.executeCommand(browser_2.WorkspaceCommands.ADD_FOLDER.id, ...args),
205
- isEnabled: (...args) => registry.isEnabled(browser_2.WorkspaceCommands.ADD_FOLDER.id, ...args),
206
- isVisible: (...args) => {
207
- if (!registry.isVisible(browser_2.WorkspaceCommands.ADD_FOLDER.id, ...args)) {
208
- return false;
209
- }
210
- const navigator = this.tryGetWidget();
211
- const selection = navigator === null || navigator === void 0 ? void 0 : navigator.model.getFocusedNode();
212
- // The node that is selected when the user clicks in empty space.
213
- const root = navigator === null || navigator === void 0 ? void 0 : navigator.getContainerTreeNode();
214
- return selection === root;
215
- }
216
- });
217
- registry.registerCommand(navigator_diff_1.NavigatorDiffCommands.COMPARE_FIRST, {
218
- execute: () => {
219
- this.navigatorDiff.addFirstComparisonFile();
220
- },
221
- isEnabled: () => true,
222
- isVisible: () => true
223
- });
224
- registry.registerCommand(navigator_diff_1.NavigatorDiffCommands.COMPARE_SECOND, {
225
- execute: () => {
226
- this.navigatorDiff.compareFiles();
227
- },
228
- isEnabled: () => this.navigatorDiff.isFirstFileSelected,
229
- isVisible: () => this.navigatorDiff.isFirstFileSelected
230
- });
231
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.OPEN, {
232
- isEnabled: () => this.getSelectedFileNodes().length > 0,
233
- isVisible: () => this.getSelectedFileNodes().length > 0,
234
- execute: () => {
235
- this.getSelectedFileNodes().forEach(async (node) => {
236
- const opener = await this.openerService.getOpener(node.uri);
237
- opener.open(node.uri);
238
- });
239
- }
240
- });
241
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.OPEN_WITH, uri_command_handler_1.UriAwareCommandHandler.MonoSelect(this.selectionService, {
242
- isEnabled: uri => this.openWithService.getHandlers(uri).length > 0,
243
- isVisible: uri => this.openWithService.getHandlers(uri).length > 0,
244
- execute: uri => this.openWithService.openWith(uri)
245
- }));
246
- registry.registerCommand(navigator_open_editors_commands_1.OpenEditorsCommands.CLOSE_ALL_TABS_FROM_TOOLBAR, {
247
- execute: widget => this.withOpenEditorsWidget(widget, () => this.shell.closeMany(this.editorWidgets)),
248
- isEnabled: widget => this.withOpenEditorsWidget(widget, () => true),
249
- isVisible: widget => this.withOpenEditorsWidget(widget, () => true)
250
- });
251
- registry.registerCommand(navigator_open_editors_commands_1.OpenEditorsCommands.SAVE_ALL_TABS_FROM_TOOLBAR, {
252
- execute: widget => this.withOpenEditorsWidget(widget, () => registry.executeCommand(browser_1.CommonCommands.SAVE_ALL.id)),
253
- isEnabled: widget => this.withOpenEditorsWidget(widget, () => true),
254
- isVisible: widget => this.withOpenEditorsWidget(widget, () => true)
255
- });
256
- const filterEditorWidgets = (title) => {
257
- const { owner } = title;
258
- return browser_1.NavigatableWidget.is(owner);
259
- };
260
- registry.registerCommand(navigator_open_editors_commands_1.OpenEditorsCommands.CLOSE_ALL_EDITORS_IN_GROUP_FROM_ICON, {
261
- execute: (tabBarOrArea) => {
262
- this.shell.closeTabs(tabBarOrArea, filterEditorWidgets);
263
- },
264
- isVisible: () => false
265
- });
266
- registry.registerCommand(navigator_open_editors_commands_1.OpenEditorsCommands.SAVE_ALL_IN_GROUP_FROM_ICON, {
267
- execute: (tabBarOrArea) => {
268
- this.shell.saveTabs(tabBarOrArea, filterEditorWidgets);
269
- },
270
- isVisible: () => false
271
- });
272
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.NEW_FILE_TOOLBAR, {
273
- execute: (...args) => registry.executeCommand(browser_2.WorkspaceCommands.NEW_FILE.id, ...args),
274
- isEnabled: widget => this.withWidget(widget, () => this.workspaceService.opened),
275
- isVisible: widget => this.withWidget(widget, () => this.workspaceService.opened)
276
- });
277
- registry.registerCommand(file_navigator_commands_1.FileNavigatorCommands.NEW_FOLDER_TOOLBAR, {
278
- execute: (...args) => registry.executeCommand(browser_2.WorkspaceCommands.NEW_FOLDER.id, ...args),
279
- isEnabled: widget => this.withWidget(widget, () => this.workspaceService.opened),
280
- isVisible: widget => this.withWidget(widget, () => this.workspaceService.opened)
281
- });
282
- }
283
- get editorWidgets() {
284
- var _a;
285
- const openEditorsWidget = this.widgetManager.tryGetWidget(navigator_open_editors_widget_1.OpenEditorsWidget.ID);
286
- return (_a = openEditorsWidget === null || openEditorsWidget === void 0 ? void 0 : openEditorsWidget.editorWidgets) !== null && _a !== void 0 ? _a : [];
287
- }
288
- getSelectedFileNodes() {
289
- var _a;
290
- return ((_a = this.tryGetWidget()) === null || _a === void 0 ? void 0 : _a.model.selectedNodes.filter(browser_3.FileNode.is)) || [];
291
- }
292
- withWidget(widget = this.tryGetWidget(), cb) {
293
- if (widget instanceof navigator_widget_1.FileNavigatorWidget && widget.id === navigator_widget_1.FILE_NAVIGATOR_ID) {
294
- return cb(widget);
295
- }
296
- return false;
297
- }
298
- withOpenEditorsWidget(widget, cb) {
299
- if (widget instanceof navigator_open_editors_widget_1.OpenEditorsWidget && widget.id === navigator_open_editors_widget_1.OpenEditorsWidget.ID) {
300
- return cb(widget);
301
- }
302
- return false;
303
- }
304
- registerMenus(registry) {
305
- super.registerMenus(registry);
306
- registry.registerMenuAction(exports.SHELL_TABBAR_CONTEXT_REVEAL, {
307
- commandId: file_navigator_commands_1.FileNavigatorCommands.REVEAL_IN_NAVIGATOR.id,
308
- label: file_navigator_commands_1.FileNavigatorCommands.REVEAL_IN_NAVIGATOR.label,
309
- order: '5'
310
- });
311
- registry.registerMenuAction(NavigatorContextMenu.NAVIGATION, {
312
- commandId: file_navigator_commands_1.FileNavigatorCommands.OPEN.id,
313
- label: nls_1.nls.localizeByDefault('Open')
314
- });
315
- registry.registerMenuAction(NavigatorContextMenu.NAVIGATION, {
316
- commandId: file_navigator_commands_1.FileNavigatorCommands.OPEN_WITH.id,
317
- when: '!explorerResourceIsFolder',
318
- label: nls_1.nls.localizeByDefault('Open With...')
319
- });
320
- registry.registerMenuAction(NavigatorContextMenu.CLIPBOARD, {
321
- commandId: browser_1.CommonCommands.COPY.id,
322
- order: 'a'
323
- });
324
- registry.registerMenuAction(NavigatorContextMenu.CLIPBOARD, {
325
- commandId: browser_1.CommonCommands.PASTE.id,
326
- order: 'b'
327
- });
328
- registry.registerMenuAction(NavigatorContextMenu.CLIPBOARD, {
329
- commandId: browser_1.CommonCommands.COPY_PATH.id,
330
- order: 'c'
331
- });
332
- registry.registerMenuAction(NavigatorContextMenu.CLIPBOARD, {
333
- commandId: browser_2.WorkspaceCommands.COPY_RELATIVE_FILE_PATH.id,
334
- label: browser_2.WorkspaceCommands.COPY_RELATIVE_FILE_PATH.label,
335
- order: 'd'
336
- });
337
- registry.registerMenuAction(NavigatorContextMenu.CLIPBOARD, {
338
- commandId: file_download_command_contribution_1.FileDownloadCommands.COPY_DOWNLOAD_LINK.id,
339
- order: 'z'
340
- });
341
- registry.registerMenuAction(NavigatorContextMenu.MODIFICATION, {
342
- commandId: browser_2.WorkspaceCommands.FILE_RENAME.id
343
- });
344
- registry.registerMenuAction(NavigatorContextMenu.MODIFICATION, {
345
- commandId: browser_2.WorkspaceCommands.FILE_DELETE.id
346
- });
347
- registry.registerMenuAction(NavigatorContextMenu.MODIFICATION, {
348
- commandId: browser_2.WorkspaceCommands.FILE_DUPLICATE.id
349
- });
350
- const downloadUploadMenu = [...exports.NAVIGATOR_CONTEXT_MENU, '6_downloadupload'];
351
- registry.registerMenuAction(downloadUploadMenu, {
352
- commandId: filesystem_frontend_contribution_1.FileSystemCommands.UPLOAD.id,
353
- order: 'a'
354
- });
355
- registry.registerMenuAction(downloadUploadMenu, {
356
- commandId: file_download_command_contribution_1.FileDownloadCommands.DOWNLOAD.id,
357
- order: 'b'
358
- });
359
- registry.registerMenuAction(NavigatorContextMenu.NAVIGATION, {
360
- commandId: browser_2.WorkspaceCommands.NEW_FILE.id,
361
- when: 'explorerResourceIsFolder'
362
- });
363
- registry.registerMenuAction(NavigatorContextMenu.NAVIGATION, {
364
- commandId: browser_2.WorkspaceCommands.NEW_FOLDER.id,
365
- when: 'explorerResourceIsFolder'
366
- });
367
- registry.registerMenuAction(NavigatorContextMenu.COMPARE, {
368
- commandId: browser_2.WorkspaceCommands.FILE_COMPARE.id
369
- });
370
- registry.registerMenuAction(NavigatorContextMenu.MODIFICATION, {
371
- commandId: file_navigator_commands_1.FileNavigatorCommands.COLLAPSE_ALL.id,
372
- label: nls_1.nls.localizeByDefault('Collapse All'),
373
- order: 'z2'
374
- });
375
- registry.registerMenuAction(NavigatorContextMenu.COMPARE, {
376
- commandId: navigator_diff_1.NavigatorDiffCommands.COMPARE_FIRST.id,
377
- order: 'za'
378
- });
379
- registry.registerMenuAction(NavigatorContextMenu.COMPARE, {
380
- commandId: navigator_diff_1.NavigatorDiffCommands.COMPARE_SECOND.id,
381
- order: 'zb'
382
- });
383
- // Open Editors Widget Menu Items
384
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.CLIPBOARD, {
385
- commandId: browser_1.CommonCommands.COPY_PATH.id,
386
- order: 'a'
387
- });
388
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.CLIPBOARD, {
389
- commandId: browser_2.WorkspaceCommands.COPY_RELATIVE_FILE_PATH.id,
390
- order: 'b'
391
- });
392
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.SAVE, {
393
- commandId: browser_1.CommonCommands.SAVE.id,
394
- order: 'a'
395
- });
396
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.COMPARE, {
397
- commandId: navigator_diff_1.NavigatorDiffCommands.COMPARE_FIRST.id,
398
- order: 'a'
399
- });
400
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.COMPARE, {
401
- commandId: navigator_diff_1.NavigatorDiffCommands.COMPARE_SECOND.id,
402
- order: 'b'
403
- });
404
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.MODIFICATION, {
405
- commandId: browser_1.CommonCommands.CLOSE_TAB.id,
406
- label: nls_1.nls.localizeByDefault('Close'),
407
- order: 'a'
408
- });
409
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.MODIFICATION, {
410
- commandId: browser_1.CommonCommands.CLOSE_OTHER_TABS.id,
411
- label: nls_1.nls.localizeByDefault('Close Others'),
412
- order: 'b'
413
- });
414
- registry.registerMenuAction(navigator_open_editors_menus_1.OpenEditorsContextMenu.MODIFICATION, {
415
- commandId: browser_1.CommonCommands.CLOSE_ALL_MAIN_TABS.id,
416
- label: nls_1.nls.localizeByDefault('Close All'),
417
- order: 'c'
418
- });
419
- registry.registerMenuAction(NavigatorContextMenu.WORKSPACE, {
420
- commandId: file_navigator_commands_1.FileNavigatorCommands.ADD_ROOT_FOLDER.id,
421
- label: browser_2.WorkspaceCommands.ADD_FOLDER.label
422
- });
423
- registry.registerMenuAction(NavigatorContextMenu.WORKSPACE, {
424
- commandId: browser_2.WorkspaceCommands.REMOVE_FOLDER.id
425
- });
426
- }
427
- registerKeybindings(registry) {
428
- super.registerKeybindings(registry);
429
- registry.registerKeybinding({
430
- command: file_navigator_commands_1.FileNavigatorCommands.REVEAL_IN_NAVIGATOR.id,
431
- keybinding: 'alt+r'
432
- });
433
- registry.registerKeybinding({
434
- command: browser_2.WorkspaceCommands.FILE_DELETE.id,
435
- keybinding: common_1.isOSX ? 'cmd+backspace' : 'del',
436
- when: 'filesExplorerFocus'
437
- });
438
- registry.registerKeybinding({
439
- command: browser_2.WorkspaceCommands.FILE_RENAME.id,
440
- keybinding: 'f2',
441
- when: 'filesExplorerFocus'
442
- });
443
- registry.registerKeybinding({
444
- command: file_navigator_commands_1.FileNavigatorCommands.TOGGLE_HIDDEN_FILES.id,
445
- keybinding: 'ctrlcmd+i',
446
- when: 'filesExplorerFocus'
447
- });
448
- }
449
- async registerToolbarItems(toolbarRegistry) {
450
- toolbarRegistry.registerItem({
451
- id: file_navigator_commands_1.FileNavigatorCommands.NEW_FILE_TOOLBAR.id,
452
- command: file_navigator_commands_1.FileNavigatorCommands.NEW_FILE_TOOLBAR.id,
453
- tooltip: nls_1.nls.localizeByDefault('New File...'),
454
- priority: 0,
455
- });
456
- toolbarRegistry.registerItem({
457
- id: file_navigator_commands_1.FileNavigatorCommands.NEW_FOLDER_TOOLBAR.id,
458
- command: file_navigator_commands_1.FileNavigatorCommands.NEW_FOLDER_TOOLBAR.id,
459
- tooltip: nls_1.nls.localizeByDefault('New Folder...'),
460
- priority: 1,
461
- });
462
- toolbarRegistry.registerItem({
463
- id: file_navigator_commands_1.FileNavigatorCommands.REFRESH_NAVIGATOR.id,
464
- command: file_navigator_commands_1.FileNavigatorCommands.REFRESH_NAVIGATOR.id,
465
- tooltip: nls_1.nls.localizeByDefault('Refresh Explorer'),
466
- priority: 2,
467
- });
468
- toolbarRegistry.registerItem({
469
- id: file_navigator_commands_1.FileNavigatorCommands.COLLAPSE_ALL.id,
470
- command: file_navigator_commands_1.FileNavigatorCommands.COLLAPSE_ALL.id,
471
- tooltip: nls_1.nls.localizeByDefault('Collapse All'),
472
- priority: 3,
473
- });
474
- // More (...) toolbar items.
475
- this.registerMoreToolbarItem({
476
- id: file_navigator_commands_1.FileNavigatorCommands.TOGGLE_AUTO_REVEAL.id,
477
- command: file_navigator_commands_1.FileNavigatorCommands.TOGGLE_AUTO_REVEAL.id,
478
- tooltip: file_navigator_commands_1.FileNavigatorCommands.TOGGLE_AUTO_REVEAL.label,
479
- group: NavigatorMoreToolbarGroups.TOOLS,
480
- });
481
- this.registerMoreToolbarItem({
482
- id: browser_2.WorkspaceCommands.ADD_FOLDER.id,
483
- command: browser_2.WorkspaceCommands.ADD_FOLDER.id,
484
- tooltip: browser_2.WorkspaceCommands.ADD_FOLDER.label,
485
- group: NavigatorMoreToolbarGroups.WORKSPACE,
486
- });
487
- // Open Editors toolbar items.
488
- toolbarRegistry.registerItem({
489
- id: navigator_open_editors_commands_1.OpenEditorsCommands.SAVE_ALL_TABS_FROM_TOOLBAR.id,
490
- command: navigator_open_editors_commands_1.OpenEditorsCommands.SAVE_ALL_TABS_FROM_TOOLBAR.id,
491
- tooltip: navigator_open_editors_commands_1.OpenEditorsCommands.SAVE_ALL_TABS_FROM_TOOLBAR.label,
492
- priority: 0,
493
- });
494
- toolbarRegistry.registerItem({
495
- id: navigator_open_editors_commands_1.OpenEditorsCommands.CLOSE_ALL_TABS_FROM_TOOLBAR.id,
496
- command: navigator_open_editors_commands_1.OpenEditorsCommands.CLOSE_ALL_TABS_FROM_TOOLBAR.id,
497
- tooltip: navigator_open_editors_commands_1.OpenEditorsCommands.CLOSE_ALL_TABS_FROM_TOOLBAR.label,
498
- priority: 1,
499
- });
500
- }
501
- /**
502
- * Reveals and selects node in the file navigator to which given widget is related.
503
- * Does nothing if given widget undefined or doesn't have related resource.
504
- *
505
- * @param widget widget file resource of which should be revealed and selected
506
- */
507
- async selectWidgetFileNode(widget) {
508
- return this.selectFileNode(browser_1.NavigatableWidget.getUri(widget));
509
- }
510
- async selectFileNode(uri) {
511
- if (uri) {
512
- const { model } = await this.widget;
513
- const node = await model.revealFile(uri);
514
- if (browser_1.SelectableTreeNode.is(node)) {
515
- model.selectNode(node);
516
- return true;
517
- }
518
- }
519
- return false;
520
- }
521
- onCurrentWidgetChangedHandler() {
522
- if (this.fileNavigatorPreferences['explorer.autoReveal']) {
523
- this.selectWidgetFileNode(this.shell.currentWidget);
524
- }
525
- }
526
- /**
527
- * Collapse file navigator nodes and set focus on first visible node
528
- * - single root workspace: collapse all nodes except root
529
- * - multiple root workspace: collapse all nodes, even roots
530
- */
531
- async collapseFileNavigatorTree() {
532
- const { model } = await this.widget;
533
- // collapse all child nodes which are not the root (single root workspace)
534
- // collapse all root nodes (multiple root workspace)
535
- let root = model.root;
536
- if (navigator_tree_1.WorkspaceNode.is(root) && root.children.length === 1) {
537
- root = root.children[0];
538
- }
539
- root.children.forEach(child => browser_1.CompositeTreeNode.is(child) && model.collapseAll(child));
540
- // select first visible node
541
- const firstChild = navigator_tree_1.WorkspaceNode.is(root) ? root.children[0] : root;
542
- if (browser_1.SelectableTreeNode.is(firstChild)) {
543
- model.selectNode(firstChild);
544
- }
545
- }
546
- /**
547
- * force refresh workspace in navigator
548
- */
549
- async refreshWorkspace() {
550
- const { model } = await this.widget;
551
- await model.refresh();
552
- }
553
- };
554
- exports.FileNavigatorContribution = FileNavigatorContribution;
555
- tslib_1.__decorate([
556
- (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
557
- tslib_1.__metadata("design:type", Object)
558
- ], FileNavigatorContribution.prototype, "clipboardService", void 0);
559
- tslib_1.__decorate([
560
- (0, inversify_1.inject)(common_1.CommandRegistry),
561
- tslib_1.__metadata("design:type", common_1.CommandRegistry)
562
- ], FileNavigatorContribution.prototype, "commandRegistry", void 0);
563
- tslib_1.__decorate([
564
- (0, inversify_1.inject)(tab_bar_toolbar_1.TabBarToolbarRegistry),
565
- tslib_1.__metadata("design:type", tab_bar_toolbar_1.TabBarToolbarRegistry)
566
- ], FileNavigatorContribution.prototype, "tabbarToolbarRegistry", void 0);
567
- tslib_1.__decorate([
568
- (0, inversify_1.inject)(navigator_context_key_service_1.NavigatorContextKeyService),
569
- tslib_1.__metadata("design:type", navigator_context_key_service_1.NavigatorContextKeyService)
570
- ], FileNavigatorContribution.prototype, "contextKeyService", void 0);
571
- tslib_1.__decorate([
572
- (0, inversify_1.inject)(common_1.MenuModelRegistry),
573
- tslib_1.__metadata("design:type", common_1.MenuModelRegistry)
574
- ], FileNavigatorContribution.prototype, "menuRegistry", void 0);
575
- tslib_1.__decorate([
576
- (0, inversify_1.inject)(navigator_diff_1.NavigatorDiff),
577
- tslib_1.__metadata("design:type", navigator_diff_1.NavigatorDiff)
578
- ], FileNavigatorContribution.prototype, "navigatorDiff", void 0);
579
- tslib_1.__decorate([
580
- (0, inversify_1.inject)(common_1.PreferenceService),
581
- tslib_1.__metadata("design:type", Object)
582
- ], FileNavigatorContribution.prototype, "preferenceService", void 0);
583
- tslib_1.__decorate([
584
- (0, inversify_1.inject)(selection_service_1.SelectionService),
585
- tslib_1.__metadata("design:type", selection_service_1.SelectionService)
586
- ], FileNavigatorContribution.prototype, "selectionService", void 0);
587
- tslib_1.__decorate([
588
- (0, inversify_1.inject)(browser_2.WorkspaceCommandContribution),
589
- tslib_1.__metadata("design:type", browser_2.WorkspaceCommandContribution)
590
- ], FileNavigatorContribution.prototype, "workspaceCommandContribution", void 0);
591
- tslib_1.__decorate([
592
- (0, inversify_1.inject)(browser_1.OpenWithService),
593
- tslib_1.__metadata("design:type", browser_1.OpenWithService)
594
- ], FileNavigatorContribution.prototype, "openWithService", void 0);
595
- tslib_1.__decorate([
596
- (0, inversify_1.inject)(common_1.QuickInputService),
597
- (0, inversify_1.optional)(),
598
- tslib_1.__metadata("design:type", Object)
599
- ], FileNavigatorContribution.prototype, "quickInputService", void 0);
600
- tslib_1.__decorate([
601
- (0, inversify_1.postConstruct)(),
602
- tslib_1.__metadata("design:type", Function),
603
- tslib_1.__metadata("design:paramtypes", []),
604
- tslib_1.__metadata("design:returntype", void 0)
605
- ], FileNavigatorContribution.prototype, "init", null);
606
- exports.FileNavigatorContribution = FileNavigatorContribution = tslib_1.__decorate([
607
- (0, inversify_1.injectable)(),
608
- tslib_1.__param(0, (0, inversify_1.inject)(navigator_preferences_1.FileNavigatorPreferences)),
609
- tslib_1.__param(1, (0, inversify_1.inject)(browser_1.OpenerService)),
610
- tslib_1.__param(2, (0, inversify_1.inject)(navigator_filter_1.FileNavigatorFilter)),
611
- tslib_1.__param(3, (0, inversify_1.inject)(browser_2.WorkspaceService)),
612
- tslib_1.__param(4, (0, inversify_1.inject)(common_2.WorkspacePreferences)),
613
- tslib_1.__metadata("design:paramtypes", [Object, Object, navigator_filter_1.FileNavigatorFilter,
614
- browser_2.WorkspaceService, Object])
615
- ], FileNavigatorContribution);
616
- //# sourceMappingURL=navigator-contribution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigator-contribution.js","sourceRoot":"","sources":["../../src/browser/navigator-contribution.ts"],"names":[],"mappings":"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"}