@theia/navigator 1.67.0-next.56 → 1.67.0-next.59
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/abstract-navigator-tree-widget.d.ts +11 -0
- package/lib/browser/abstract-navigator-tree-widget.d.ts.map +1 -0
- package/lib/browser/abstract-navigator-tree-widget.js +62 -0
- package/lib/browser/abstract-navigator-tree-widget.js.map +1 -0
- package/lib/browser/file-navigator-commands.d.ts +19 -0
- package/lib/browser/file-navigator-commands.d.ts.map +1 -0
- package/lib/browser/file-navigator-commands.js +76 -0
- package/lib/browser/file-navigator-commands.js.map +1 -0
- package/lib/browser/index.d.ts +5 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +23 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/navigator-container.d.ts +7 -0
- package/lib/browser/navigator-container.d.ts.map +1 -0
- package/lib/browser/navigator-container.js +48 -0
- package/lib/browser/navigator-container.js.map +1 -0
- package/lib/browser/navigator-context-key-service.d.ts +21 -0
- package/lib/browser/navigator-context-key-service.d.ts.map +1 -0
- package/lib/browser/navigator-context-key-service.js +65 -0
- package/lib/browser/navigator-context-key-service.js.map +1 -0
- package/lib/browser/navigator-contribution.d.ts +111 -0
- package/lib/browser/navigator-contribution.d.ts.map +1 -0
- package/lib/browser/navigator-contribution.js +616 -0
- package/lib/browser/navigator-contribution.js.map +1 -0
- package/lib/browser/navigator-decorator-service.d.ts +14 -0
- package/lib/browser/navigator-decorator-service.d.ts.map +1 -0
- package/lib/browser/navigator-decorator-service.js +43 -0
- package/lib/browser/navigator-decorator-service.js.map +1 -0
- package/lib/browser/navigator-diff.d.ts +39 -0
- package/lib/browser/navigator-diff.d.ts.map +1 -0
- package/lib/browser/navigator-diff.js +131 -0
- package/lib/browser/navigator-diff.js.map +1 -0
- package/lib/browser/navigator-diff.spec.d.ts +2 -0
- package/lib/browser/navigator-diff.spec.d.ts.map +1 -0
- package/lib/browser/navigator-diff.spec.js +100 -0
- package/lib/browser/navigator-diff.spec.js.map +1 -0
- package/lib/browser/navigator-filter.d.ts +72 -0
- package/lib/browser/navigator-filter.d.ts.map +1 -0
- package/lib/browser/navigator-filter.js +130 -0
- package/lib/browser/navigator-filter.js.map +1 -0
- package/lib/browser/navigator-filter.spec.d.ts +2 -0
- package/lib/browser/navigator-filter.spec.d.ts.map +1 -0
- package/lib/browser/navigator-filter.spec.js +131 -0
- package/lib/browser/navigator-filter.spec.js.map +1 -0
- package/lib/browser/navigator-frontend-module.d.ts +6 -0
- package/lib/browser/navigator-frontend-module.d.ts.map +1 -0
- package/lib/browser/navigator-frontend-module.js +76 -0
- package/lib/browser/navigator-frontend-module.js.map +1 -0
- package/lib/browser/navigator-layout-migrations.d.ts +10 -0
- package/lib/browser/navigator-layout-migrations.d.ts.map +1 -0
- package/lib/browser/navigator-layout-migrations.js +76 -0
- package/lib/browser/navigator-layout-migrations.js.map +1 -0
- package/lib/browser/navigator-model.d.ts +44 -0
- package/lib/browser/navigator-model.d.ts.map +1 -0
- package/lib/browser/navigator-model.js +229 -0
- package/lib/browser/navigator-model.js.map +1 -0
- package/lib/browser/navigator-symlink-decorator.d.ts +14 -0
- package/lib/browser/navigator-symlink-decorator.d.ts.map +1 -0
- package/lib/browser/navigator-symlink-decorator.js +74 -0
- package/lib/browser/navigator-symlink-decorator.js.map +1 -0
- package/lib/browser/navigator-tab-bar-decorator.d.ts +17 -0
- package/lib/browser/navigator-tab-bar-decorator.d.ts.map +1 -0
- package/lib/browser/navigator-tab-bar-decorator.js +71 -0
- package/lib/browser/navigator-tab-bar-decorator.js.map +1 -0
- package/lib/browser/navigator-tree.d.ts +43 -0
- package/lib/browser/navigator-tree.d.ts.map +1 -0
- package/lib/browser/navigator-tree.js +125 -0
- package/lib/browser/navigator-tree.js.map +1 -0
- package/lib/browser/navigator-widget-factory.d.ts +13 -0
- package/lib/browser/navigator-widget-factory.d.ts.map +1 -0
- package/lib/browser/navigator-widget-factory.js +76 -0
- package/lib/browser/navigator-widget-factory.js.map +1 -0
- package/lib/browser/navigator-widget.d.ts +46 -0
- package/lib/browser/navigator-widget.d.ts.map +1 -0
- package/lib/browser/navigator-widget.js +210 -0
- package/lib/browser/navigator-widget.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts +16 -0
- package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js +105 -0
- package/lib/browser/open-editors-widget/navigator-deleted-editor-decorator.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts +8 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-commands.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-commands.js +48 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-commands.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts +8 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js +37 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-decorator-service.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts +10 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-menus.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-menus.js +28 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-menus.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts +39 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js +251 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-tree-model.js.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts +46 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-widget.d.ts.map +1 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-widget.js +225 -0
- package/lib/browser/open-editors-widget/navigator-open-editors-widget.js.map +1 -0
- package/lib/common/navigator-preferences.d.ts +15 -0
- package/lib/common/navigator-preferences.d.ts.map +1 -0
- package/lib/common/navigator-preferences.js +58 -0
- package/lib/common/navigator-preferences.js.map +1 -0
- package/lib/electron-browser/electron-navigator-menu-contribution.d.ts +22 -0
- package/lib/electron-browser/electron-navigator-menu-contribution.d.ts.map +1 -0
- package/lib/electron-browser/electron-navigator-menu-contribution.js +120 -0
- package/lib/electron-browser/electron-navigator-menu-contribution.js.map +1 -0
- package/lib/electron-browser/electron-navigator-module.d.ts +4 -0
- package/lib/electron-browser/electron-navigator-module.d.ts.map +1 -0
- package/lib/electron-browser/electron-navigator-module.js +27 -0
- package/lib/electron-browser/electron-navigator-module.js.map +1 -0
- package/lib/node/navigator-backend-module.d.ts +4 -0
- package/lib/node/navigator-backend-module.d.ts.map +1 -0
- package/lib/node/navigator-backend-module.js +23 -0
- package/lib/node/navigator-backend-module.js.map +1 -0
- package/lib/package.spec.d.ts +1 -0
- package/lib/package.spec.d.ts.map +1 -0
- package/lib/package.spec.js +26 -0
- package/lib/package.spec.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 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
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const chai_1 = require("chai");
|
|
21
|
+
const navigator_filter_1 = require("./navigator-filter");
|
|
22
|
+
disableJSDOM();
|
|
23
|
+
describe('navigator-filter-glob', () => {
|
|
24
|
+
const pathPrefix = 'file:///some/path/to';
|
|
25
|
+
const toItem = (id) => ({ id: `${pathPrefix}${id}` });
|
|
26
|
+
const itemsToFilter = [
|
|
27
|
+
'/.git/',
|
|
28
|
+
'/.git/a',
|
|
29
|
+
'/.git/b',
|
|
30
|
+
'/src/foo/',
|
|
31
|
+
'/src/foo/a.js',
|
|
32
|
+
'/src/foo/b.js',
|
|
33
|
+
'/src/foo/a.ts',
|
|
34
|
+
'/src/foo/b.ts',
|
|
35
|
+
'/src/foo/test/bar/a.js',
|
|
36
|
+
'/src/foo/test/bar/b.js',
|
|
37
|
+
'/test/baz/bar/a.js',
|
|
38
|
+
'/test/baz/bar/b.js'
|
|
39
|
+
].map(toItem);
|
|
40
|
+
[
|
|
41
|
+
{
|
|
42
|
+
patterns: {
|
|
43
|
+
'**/.git/**': true
|
|
44
|
+
},
|
|
45
|
+
includes: [
|
|
46
|
+
'/src/foo/'
|
|
47
|
+
],
|
|
48
|
+
excludes: [
|
|
49
|
+
'/.git/',
|
|
50
|
+
'/.git/a',
|
|
51
|
+
'/.git/b'
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
patterns: {
|
|
56
|
+
'*.js': true
|
|
57
|
+
},
|
|
58
|
+
includes: [
|
|
59
|
+
'/src/foo/a.ts',
|
|
60
|
+
'/.git/'
|
|
61
|
+
],
|
|
62
|
+
excludes: [
|
|
63
|
+
'/src/foo/a.js',
|
|
64
|
+
'/test/baz/bar/a.js'
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
patterns: {
|
|
69
|
+
'**/test/bar/**': true
|
|
70
|
+
},
|
|
71
|
+
includes: [
|
|
72
|
+
'/test/baz/bar/a.js',
|
|
73
|
+
'/test/baz/bar/b.js',
|
|
74
|
+
'/.git/'
|
|
75
|
+
],
|
|
76
|
+
excludes: [
|
|
77
|
+
'/src/foo/test/bar/a.js',
|
|
78
|
+
'/src/foo/test/bar/b.js'
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
patterns: {
|
|
83
|
+
'*.js': true,
|
|
84
|
+
'**/.git/**': true
|
|
85
|
+
},
|
|
86
|
+
includes: [
|
|
87
|
+
'/src/foo/a.ts'
|
|
88
|
+
],
|
|
89
|
+
excludes: [
|
|
90
|
+
'/.git/',
|
|
91
|
+
'/src/foo/a.js',
|
|
92
|
+
'/test/baz/bar/a.js'
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
patterns: {
|
|
97
|
+
'*.js': false,
|
|
98
|
+
'**/.git/**': false
|
|
99
|
+
},
|
|
100
|
+
includes: [
|
|
101
|
+
'/.git/',
|
|
102
|
+
'/.git/a',
|
|
103
|
+
'/.git/b',
|
|
104
|
+
'/src/foo/',
|
|
105
|
+
'/src/foo/a.js',
|
|
106
|
+
'/src/foo/b.js',
|
|
107
|
+
'/src/foo/a.ts',
|
|
108
|
+
'/src/foo/b.ts',
|
|
109
|
+
'/src/foo/test/bar/a.js',
|
|
110
|
+
'/src/foo/test/bar/b.js',
|
|
111
|
+
'/test/baz/bar/a.js',
|
|
112
|
+
'/test/baz/bar/b.js'
|
|
113
|
+
],
|
|
114
|
+
excludes: []
|
|
115
|
+
}
|
|
116
|
+
].forEach((test, index) => {
|
|
117
|
+
it(`${index < 10 ? `0${index + 1}` : `${index + 1}`} glob-filter: (${Object.keys(test.patterns).map(key => `${key} [${test.patterns[key]}]`).join(', ')}) `, () => {
|
|
118
|
+
const filter = new navigator_filter_1.FileNavigatorFilterPredicate(test.patterns);
|
|
119
|
+
const result = itemsToFilter.filter(filter.filter.bind(filter));
|
|
120
|
+
test.includes.map(toItem).forEach(item => includes(result, item));
|
|
121
|
+
test.excludes.map(toItem).forEach(item => excludes(result, item));
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
function includes(array, item, message = `Expected ${JSON.stringify(array)} to include ${JSON.stringify(item)}.`) {
|
|
126
|
+
(0, chai_1.expect)(array).to.deep.include(item, message);
|
|
127
|
+
}
|
|
128
|
+
function excludes(array, item, message = `Expected ${JSON.stringify(array)} to not include ${JSON.stringify(item)}.`) {
|
|
129
|
+
(0, chai_1.expect)(array).to.not.deep.include(item, message);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=navigator-filter.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-filter.spec.js","sourceRoot":"","sources":["../../src/browser/navigator-filter.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../src/browser/style/index.css';
|
|
2
|
+
import '../../src/browser/open-editors-widget/open-editors.css';
|
|
3
|
+
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
4
|
+
declare const _default: ContainerModule;
|
|
5
|
+
export default _default;
|
|
6
|
+
//# sourceMappingURL=navigator-frontend-module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,wDAAwD,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA2B/D,wBA0CG"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2017 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
|
+
require("../../src/browser/style/index.css");
|
|
19
|
+
require("../../src/browser/open-editors-widget/open-editors.css");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
|
+
const navigator_widget_1 = require("./navigator-widget");
|
|
23
|
+
const navigator_contribution_1 = require("./navigator-contribution");
|
|
24
|
+
const navigator_container_1 = require("./navigator-container");
|
|
25
|
+
const widget_manager_1 = require("@theia/core/lib/browser/widget-manager");
|
|
26
|
+
const navigator_preferences_1 = require("../common/navigator-preferences");
|
|
27
|
+
const navigator_filter_1 = require("./navigator-filter");
|
|
28
|
+
const navigator_context_key_service_1 = require("./navigator-context-key-service");
|
|
29
|
+
const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar");
|
|
30
|
+
const navigator_diff_1 = require("./navigator-diff");
|
|
31
|
+
const navigator_layout_migrations_1 = require("./navigator-layout-migrations");
|
|
32
|
+
const navigator_tab_bar_decorator_1 = require("./navigator-tab-bar-decorator");
|
|
33
|
+
const tab_bar_decorator_1 = require("@theia/core/lib/browser/shell/tab-bar-decorator");
|
|
34
|
+
const navigator_widget_factory_1 = require("./navigator-widget-factory");
|
|
35
|
+
const common_1 = require("@theia/core/lib/common");
|
|
36
|
+
const navigator_open_editors_decorator_service_1 = require("./open-editors-widget/navigator-open-editors-decorator-service");
|
|
37
|
+
const navigator_open_editors_widget_1 = require("./open-editors-widget/navigator-open-editors-widget");
|
|
38
|
+
const navigator_decorator_service_1 = require("./navigator-decorator-service");
|
|
39
|
+
const navigator_deleted_editor_decorator_1 = require("./open-editors-widget/navigator-deleted-editor-decorator");
|
|
40
|
+
const navigator_symlink_decorator_1 = require("./navigator-symlink-decorator");
|
|
41
|
+
const browser_2 = require("@theia/filesystem/lib/browser");
|
|
42
|
+
exports.default = new inversify_1.ContainerModule(bind => {
|
|
43
|
+
(0, navigator_preferences_1.bindFileNavigatorPreferences)(bind);
|
|
44
|
+
bind(navigator_filter_1.FileNavigatorFilter).toSelf().inSingletonScope();
|
|
45
|
+
bind(navigator_context_key_service_1.NavigatorContextKeyService).toSelf().inSingletonScope();
|
|
46
|
+
(0, browser_1.bindViewContribution)(bind, navigator_contribution_1.FileNavigatorContribution);
|
|
47
|
+
bind(browser_1.FrontendApplicationContribution).toService(navigator_contribution_1.FileNavigatorContribution);
|
|
48
|
+
bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(navigator_contribution_1.FileNavigatorContribution);
|
|
49
|
+
bind(navigator_widget_1.FileNavigatorWidget).toDynamicValue(ctx => (0, navigator_container_1.createFileNavigatorWidget)(ctx.container));
|
|
50
|
+
bind(widget_manager_1.WidgetFactory).toDynamicValue(({ container }) => ({
|
|
51
|
+
id: navigator_widget_1.FILE_NAVIGATOR_ID,
|
|
52
|
+
createWidget: () => container.get(navigator_widget_1.FileNavigatorWidget)
|
|
53
|
+
})).inSingletonScope();
|
|
54
|
+
(0, common_1.bindContributionProvider)(bind, navigator_decorator_service_1.NavigatorTreeDecorator);
|
|
55
|
+
(0, common_1.bindContributionProvider)(bind, navigator_open_editors_decorator_service_1.OpenEditorsTreeDecorator);
|
|
56
|
+
bind(navigator_decorator_service_1.NavigatorTreeDecorator).toService(browser_2.FileTreeDecoratorAdapter);
|
|
57
|
+
bind(navigator_open_editors_decorator_service_1.OpenEditorsTreeDecorator).toService(browser_2.FileTreeDecoratorAdapter);
|
|
58
|
+
bind(navigator_deleted_editor_decorator_1.NavigatorDeletedEditorDecorator).toSelf().inSingletonScope();
|
|
59
|
+
bind(navigator_open_editors_decorator_service_1.OpenEditorsTreeDecorator).toService(navigator_deleted_editor_decorator_1.NavigatorDeletedEditorDecorator);
|
|
60
|
+
bind(widget_manager_1.WidgetFactory).toDynamicValue(({ container }) => ({
|
|
61
|
+
id: navigator_open_editors_widget_1.OpenEditorsWidget.ID,
|
|
62
|
+
createWidget: () => navigator_open_editors_widget_1.OpenEditorsWidget.createWidget(container)
|
|
63
|
+
})).inSingletonScope();
|
|
64
|
+
bind(navigator_widget_factory_1.NavigatorWidgetFactory).toSelf().inSingletonScope();
|
|
65
|
+
bind(widget_manager_1.WidgetFactory).toService(navigator_widget_factory_1.NavigatorWidgetFactory);
|
|
66
|
+
bind(browser_1.ApplicationShellLayoutMigration).to(navigator_layout_migrations_1.NavigatorLayoutVersion3Migration).inSingletonScope();
|
|
67
|
+
bind(browser_1.ApplicationShellLayoutMigration).to(navigator_layout_migrations_1.NavigatorLayoutVersion5Migration).inSingletonScope();
|
|
68
|
+
bind(navigator_diff_1.NavigatorDiff).toSelf().inSingletonScope();
|
|
69
|
+
bind(navigator_tab_bar_decorator_1.NavigatorTabBarDecorator).toSelf().inSingletonScope();
|
|
70
|
+
bind(browser_1.FrontendApplicationContribution).toService(navigator_tab_bar_decorator_1.NavigatorTabBarDecorator);
|
|
71
|
+
bind(tab_bar_decorator_1.TabBarDecorator).toService(navigator_tab_bar_decorator_1.NavigatorTabBarDecorator);
|
|
72
|
+
bind(navigator_symlink_decorator_1.NavigatorSymlinkDecorator).toSelf().inSingletonScope();
|
|
73
|
+
bind(navigator_decorator_service_1.NavigatorTreeDecorator).toService(navigator_symlink_decorator_1.NavigatorSymlinkDecorator);
|
|
74
|
+
bind(navigator_open_editors_decorator_service_1.OpenEditorsTreeDecorator).toService(navigator_symlink_decorator_1.NavigatorSymlinkDecorator);
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=navigator-frontend-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-frontend-module.js","sourceRoot":"","sources":["../../src/browser/navigator-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApplicationShellLayoutMigration, WidgetDescription, ApplicationShellLayoutMigrationContext } from '@theia/core/lib/browser/shell/shell-layout-restorer';
|
|
2
|
+
export declare class NavigatorLayoutVersion3Migration implements ApplicationShellLayoutMigration {
|
|
3
|
+
readonly layoutVersion = 3;
|
|
4
|
+
onWillInflateWidget(desc: WidgetDescription, { parent }: ApplicationShellLayoutMigrationContext): WidgetDescription | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare class NavigatorLayoutVersion5Migration implements ApplicationShellLayoutMigration {
|
|
7
|
+
readonly layoutVersion = 5;
|
|
8
|
+
onWillInflateWidget(desc: WidgetDescription): WidgetDescription | undefined;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=navigator-layout-migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-layout-migrations.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-layout-migrations.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,sCAAsC,EAAE,MAAM,qDAAqD,CAAC;AAIjK,qBACa,gCAAiC,YAAW,+BAA+B;IACpF,QAAQ,CAAC,aAAa,KAAO;IAC7B,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,EAAE,sCAAsC,GAAG,iBAAiB,GAAG,SAAS;CA4BlI;AAED,qBACa,gCAAiC,YAAW,+BAA+B;IACpF,QAAQ,CAAC,aAAa,KAAO;IAC7B,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;CAO9E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2019 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.NavigatorLayoutVersion5Migration = exports.NavigatorLayoutVersion3Migration = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const navigator_widget_factory_1 = require("./navigator-widget-factory");
|
|
22
|
+
const navigator_widget_1 = require("./navigator-widget");
|
|
23
|
+
let NavigatorLayoutVersion3Migration = class NavigatorLayoutVersion3Migration {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.layoutVersion = 3.0;
|
|
26
|
+
}
|
|
27
|
+
onWillInflateWidget(desc, { parent }) {
|
|
28
|
+
if (desc.constructionOptions.factoryId === navigator_widget_1.FILE_NAVIGATOR_ID && !parent) {
|
|
29
|
+
return {
|
|
30
|
+
constructionOptions: {
|
|
31
|
+
factoryId: navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_ID
|
|
32
|
+
},
|
|
33
|
+
innerWidgetState: {
|
|
34
|
+
parts: [
|
|
35
|
+
{
|
|
36
|
+
widget: {
|
|
37
|
+
constructionOptions: {
|
|
38
|
+
factoryId: navigator_widget_1.FILE_NAVIGATOR_ID
|
|
39
|
+
},
|
|
40
|
+
innerWidgetState: desc.innerWidgetState
|
|
41
|
+
},
|
|
42
|
+
partId: {
|
|
43
|
+
factoryId: navigator_widget_1.FILE_NAVIGATOR_ID
|
|
44
|
+
},
|
|
45
|
+
collapsed: false,
|
|
46
|
+
hidden: false
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
title: navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.NavigatorLayoutVersion3Migration = NavigatorLayoutVersion3Migration;
|
|
57
|
+
exports.NavigatorLayoutVersion3Migration = NavigatorLayoutVersion3Migration = tslib_1.__decorate([
|
|
58
|
+
(0, inversify_1.injectable)()
|
|
59
|
+
], NavigatorLayoutVersion3Migration);
|
|
60
|
+
let NavigatorLayoutVersion5Migration = class NavigatorLayoutVersion5Migration {
|
|
61
|
+
constructor() {
|
|
62
|
+
this.layoutVersion = 5.0;
|
|
63
|
+
}
|
|
64
|
+
onWillInflateWidget(desc) {
|
|
65
|
+
if (desc.constructionOptions.factoryId === navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_ID && typeof desc.innerWidgetState === 'string') {
|
|
66
|
+
desc.innerWidgetState = desc.innerWidgetState.replace(/navigator-tab-icon/g, navigator_widget_factory_1.EXPLORER_VIEW_CONTAINER_TITLE_OPTIONS.iconClass);
|
|
67
|
+
return desc;
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.NavigatorLayoutVersion5Migration = NavigatorLayoutVersion5Migration;
|
|
73
|
+
exports.NavigatorLayoutVersion5Migration = NavigatorLayoutVersion5Migration = tslib_1.__decorate([
|
|
74
|
+
(0, inversify_1.injectable)()
|
|
75
|
+
], NavigatorLayoutVersion5Migration);
|
|
76
|
+
//# sourceMappingURL=navigator-layout-migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-layout-migrations.js","sourceRoot":"","sources":["../../src/browser/navigator-layout-migrations.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAE1D,yEAA+G;AAC/G,yDAAuD;AAGhD,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAAtC;QACM,kBAAa,GAAG,GAAG,CAAC;IA6BjC,CAAC;IA5BG,mBAAmB,CAAC,IAAuB,EAAE,EAAE,MAAM,EAA0C;QAC3F,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,KAAK,oCAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;YACtE,OAAO;gBACH,mBAAmB,EAAE;oBACjB,SAAS,EAAE,qDAA0B;iBACxC;gBACD,gBAAgB,EAAE;oBACd,KAAK,EAAE;wBACH;4BACI,MAAM,EAAE;gCACJ,mBAAmB,EAAE;oCACjB,SAAS,EAAE,oCAAiB;iCAC/B;gCACD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;6BAC1C;4BACD,MAAM,EAAE;gCACJ,SAAS,EAAE,oCAAiB;6BAC/B;4BACD,SAAS,EAAE,KAAK;4BAChB,MAAM,EAAE,KAAK;yBAChB;qBACJ;oBACD,KAAK,EAAE,gEAAqC;iBAC/C;aACJ,CAAC;QACN,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AA9BY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CA8B5C;AAGM,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAAtC;QACM,kBAAa,GAAG,GAAG,CAAC;IAQjC,CAAC;IAPG,mBAAmB,CAAC,IAAuB;QACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,KAAK,qDAA0B,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACjH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,EAAE,gEAAqC,CAAC,SAAU,CAAC,CAAC;YAC/H,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AATY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CAS5C"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import URI from '@theia/core/lib/common/uri';
|
|
2
|
+
import { FileTreeModel } from '@theia/filesystem/lib/browser';
|
|
3
|
+
import { OpenerService, TreeNode } from '@theia/core/lib/browser';
|
|
4
|
+
import { FileNavigatorTree, WorkspaceNode } from './navigator-tree';
|
|
5
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
6
|
+
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
|
7
|
+
import { ProgressService } from '@theia/core/lib/common/progress-service';
|
|
8
|
+
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
9
|
+
export declare class FileNavigatorModel extends FileTreeModel {
|
|
10
|
+
protected readonly openerService: OpenerService;
|
|
11
|
+
protected readonly tree: FileNavigatorTree;
|
|
12
|
+
protected readonly workspaceService: WorkspaceService;
|
|
13
|
+
protected readonly applicationState: FrontendApplicationStateService;
|
|
14
|
+
protected readonly progressService: ProgressService;
|
|
15
|
+
protected init(): void;
|
|
16
|
+
protected readonly pendingBusyProgress: Map<string, Deferred<void>>;
|
|
17
|
+
protected reportBusyProgress(): void;
|
|
18
|
+
protected initializeRoot(): Promise<void>;
|
|
19
|
+
previewNode(node: TreeNode): void;
|
|
20
|
+
protected doOpenNode(node: TreeNode): void;
|
|
21
|
+
getNodesByUri(uri: URI): IterableIterator<TreeNode>;
|
|
22
|
+
protected updateRoot(): Promise<void>;
|
|
23
|
+
protected createRoot(): Promise<TreeNode | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Create multiple root node used to display
|
|
26
|
+
* the multiple root workspace name.
|
|
27
|
+
*
|
|
28
|
+
* @returns `WorkspaceNode`
|
|
29
|
+
*/
|
|
30
|
+
protected createMultipleRootNode(): WorkspaceNode;
|
|
31
|
+
/**
|
|
32
|
+
* Move the given source file or directory to the given target directory.
|
|
33
|
+
*/
|
|
34
|
+
move(source: TreeNode, target: TreeNode): Promise<URI | undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* Reveals node in the navigator by given file uri.
|
|
37
|
+
*
|
|
38
|
+
* @param uri uri to file which should be revealed in the navigator
|
|
39
|
+
* @returns file tree node if the file with given uri was revealed, undefined otherwise
|
|
40
|
+
*/
|
|
41
|
+
revealFile(uri: URI): Promise<TreeNode | undefined>;
|
|
42
|
+
protected getNodeClosestToRootByUri(uri: URI): TreeNode | undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=navigator-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-model.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-model.ts"],"names":[],"mappings":"AAiBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAY,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,aAAa,EAAQ,QAAQ,EAA6D,MAAM,yBAAyB,CAAC;AACnI,OAAO,EAAE,iBAAiB,EAAqB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAG/D,qBACa,kBAAmB,SAAQ,aAAa;IAE1B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACvE,mBAAuD,IAAI,EAAE,iBAAiB,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;IAG9G,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;cAGjC,IAAI,IAAI,IAAI;IAM/B,SAAS,CAAC,QAAQ,CAAC,mBAAmB,8BAAqC;IAC3E,SAAS,CAAC,kBAAkB,IAAI,IAAI;cAwBpB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB/C,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;cAMd,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAQzC,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC;cAa7C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAI3B,UAAU,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAiB3D;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,IAAI,aAAa;IASjD;;OAEG;IACY,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAQjF;;;;;OAKG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAuCzD,SAAS,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,SAAS;CAOtE"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2017 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.FileNavigatorModel = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const browser_1 = require("@theia/filesystem/lib/browser");
|
|
22
|
+
const browser_2 = require("@theia/core/lib/browser");
|
|
23
|
+
const navigator_tree_1 = require("./navigator-tree");
|
|
24
|
+
const browser_3 = require("@theia/workspace/lib/browser");
|
|
25
|
+
const frontend_application_state_1 = require("@theia/core/lib/browser/frontend-application-state");
|
|
26
|
+
const progress_service_1 = require("@theia/core/lib/common/progress-service");
|
|
27
|
+
const promise_util_1 = require("@theia/core/lib/common/promise-util");
|
|
28
|
+
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
29
|
+
let FileNavigatorModel = class FileNavigatorModel extends browser_1.FileTreeModel {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.pendingBusyProgress = new Map();
|
|
33
|
+
}
|
|
34
|
+
init() {
|
|
35
|
+
super.init();
|
|
36
|
+
this.reportBusyProgress();
|
|
37
|
+
this.initializeRoot();
|
|
38
|
+
}
|
|
39
|
+
reportBusyProgress() {
|
|
40
|
+
this.toDispose.push(this.onDidChangeBusy(node => {
|
|
41
|
+
const pending = this.pendingBusyProgress.get(node.id);
|
|
42
|
+
if (pending) {
|
|
43
|
+
if (!node.busy) {
|
|
44
|
+
pending.resolve();
|
|
45
|
+
this.pendingBusyProgress.delete(node.id);
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (node.busy) {
|
|
50
|
+
const progress = new promise_util_1.Deferred();
|
|
51
|
+
this.pendingBusyProgress.set(node.id, progress);
|
|
52
|
+
this.progressService.withProgress('', 'explorer', () => progress.promise);
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
this.toDispose.push(disposable_1.Disposable.create(() => {
|
|
56
|
+
for (const pending of this.pendingBusyProgress.values()) {
|
|
57
|
+
pending.resolve();
|
|
58
|
+
}
|
|
59
|
+
this.pendingBusyProgress.clear();
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
async initializeRoot() {
|
|
63
|
+
await Promise.all([
|
|
64
|
+
this.applicationState.reachedState('initialized_layout'),
|
|
65
|
+
this.workspaceService.roots
|
|
66
|
+
]);
|
|
67
|
+
await this.updateRoot();
|
|
68
|
+
if (this.toDispose.disposed) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.toDispose.push(this.workspaceService.onWorkspaceChanged(() => this.updateRoot()));
|
|
72
|
+
this.toDispose.push(this.workspaceService.onWorkspaceLocationChanged(() => this.updateRoot()));
|
|
73
|
+
if (this.selectedNodes.length) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const root = this.root;
|
|
77
|
+
if (browser_2.CompositeTreeNode.is(root) && root.children.length === 1) {
|
|
78
|
+
const child = root.children[0];
|
|
79
|
+
if (browser_2.SelectableTreeNode.is(child) && !child.selected && browser_2.ExpandableTreeNode.is(child)) {
|
|
80
|
+
this.selectNode(child);
|
|
81
|
+
this.expandNode(child);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
previewNode(node) {
|
|
86
|
+
if (browser_1.FileNode.is(node)) {
|
|
87
|
+
(0, browser_2.open)(this.openerService, node.uri, { mode: 'reveal', preview: true });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
doOpenNode(node) {
|
|
91
|
+
if (node.visible === false) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
else if (browser_1.FileNode.is(node)) {
|
|
95
|
+
(0, browser_2.open)(this.openerService, node.uri);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
*getNodesByUri(uri) {
|
|
99
|
+
const workspace = this.root;
|
|
100
|
+
if (navigator_tree_1.WorkspaceNode.is(workspace)) {
|
|
101
|
+
for (const root of workspace.children) {
|
|
102
|
+
const id = this.tree.createId(root, uri);
|
|
103
|
+
const node = this.getNode(id);
|
|
104
|
+
if (node) {
|
|
105
|
+
yield node;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async updateRoot() {
|
|
111
|
+
this.root = await this.createRoot();
|
|
112
|
+
}
|
|
113
|
+
async createRoot() {
|
|
114
|
+
if (this.workspaceService.opened) {
|
|
115
|
+
const stat = this.workspaceService.workspace;
|
|
116
|
+
const isMulti = (stat) ? !stat.isDirectory : false;
|
|
117
|
+
const workspaceNode = isMulti
|
|
118
|
+
? this.createMultipleRootNode()
|
|
119
|
+
: navigator_tree_1.WorkspaceNode.createRoot();
|
|
120
|
+
const roots = await this.workspaceService.roots;
|
|
121
|
+
for (const root of roots) {
|
|
122
|
+
workspaceNode.children.push(await this.tree.createWorkspaceRoot(root, workspaceNode));
|
|
123
|
+
}
|
|
124
|
+
return workspaceNode;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Create multiple root node used to display
|
|
129
|
+
* the multiple root workspace name.
|
|
130
|
+
*
|
|
131
|
+
* @returns `WorkspaceNode`
|
|
132
|
+
*/
|
|
133
|
+
createMultipleRootNode() {
|
|
134
|
+
const workspace = this.workspaceService.workspace;
|
|
135
|
+
let name = workspace
|
|
136
|
+
? workspace.resource.path.name
|
|
137
|
+
: 'untitled';
|
|
138
|
+
name += ' (Workspace)';
|
|
139
|
+
return navigator_tree_1.WorkspaceNode.createRoot(name);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Move the given source file or directory to the given target directory.
|
|
143
|
+
*/
|
|
144
|
+
async move(source, target) {
|
|
145
|
+
if (source.parent && navigator_tree_1.WorkspaceRootNode.is(source)) {
|
|
146
|
+
// do not support moving a root folder
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
return super.move(source, target);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Reveals node in the navigator by given file uri.
|
|
153
|
+
*
|
|
154
|
+
* @param uri uri to file which should be revealed in the navigator
|
|
155
|
+
* @returns file tree node if the file with given uri was revealed, undefined otherwise
|
|
156
|
+
*/
|
|
157
|
+
async revealFile(uri) {
|
|
158
|
+
if (!uri.path.isAbsolute) {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
let node = this.getNodeClosestToRootByUri(uri);
|
|
162
|
+
// success stop condition
|
|
163
|
+
// we have to reach workspace root because expanded node could be inside collapsed one
|
|
164
|
+
if (navigator_tree_1.WorkspaceRootNode.is(node)) {
|
|
165
|
+
if (browser_2.ExpandableTreeNode.is(node)) {
|
|
166
|
+
if (!node.expanded) {
|
|
167
|
+
node = await this.expandNode(node);
|
|
168
|
+
}
|
|
169
|
+
return node;
|
|
170
|
+
}
|
|
171
|
+
// shouldn't happen, root node is always directory, i.e. expandable
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
// fail stop condition
|
|
175
|
+
if (uri.path.isRoot) {
|
|
176
|
+
// file system root is reached but workspace root wasn't found, it means that
|
|
177
|
+
// given uri is not in workspace root folder or points to not existing file.
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
if (await this.revealFile(uri.parent)) {
|
|
181
|
+
if (node === undefined) {
|
|
182
|
+
// get node if it wasn't mounted into navigator tree before expansion
|
|
183
|
+
node = this.getNodeClosestToRootByUri(uri);
|
|
184
|
+
}
|
|
185
|
+
if (browser_2.ExpandableTreeNode.is(node) && !node.expanded) {
|
|
186
|
+
node = await this.expandNode(node);
|
|
187
|
+
}
|
|
188
|
+
return node;
|
|
189
|
+
}
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
getNodeClosestToRootByUri(uri) {
|
|
193
|
+
const nodes = [...this.getNodesByUri(uri)];
|
|
194
|
+
return nodes.length > 0
|
|
195
|
+
? nodes.reduce((node1, node2) => // return the node closest to the workspace root
|
|
196
|
+
node1.id.length >= node2.id.length ? node1 : node2) : undefined;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
exports.FileNavigatorModel = FileNavigatorModel;
|
|
200
|
+
tslib_1.__decorate([
|
|
201
|
+
(0, inversify_1.inject)(browser_2.OpenerService),
|
|
202
|
+
tslib_1.__metadata("design:type", Object)
|
|
203
|
+
], FileNavigatorModel.prototype, "openerService", void 0);
|
|
204
|
+
tslib_1.__decorate([
|
|
205
|
+
(0, inversify_1.inject)(navigator_tree_1.FileNavigatorTree),
|
|
206
|
+
tslib_1.__metadata("design:type", navigator_tree_1.FileNavigatorTree)
|
|
207
|
+
], FileNavigatorModel.prototype, "tree", void 0);
|
|
208
|
+
tslib_1.__decorate([
|
|
209
|
+
(0, inversify_1.inject)(browser_3.WorkspaceService),
|
|
210
|
+
tslib_1.__metadata("design:type", browser_3.WorkspaceService)
|
|
211
|
+
], FileNavigatorModel.prototype, "workspaceService", void 0);
|
|
212
|
+
tslib_1.__decorate([
|
|
213
|
+
(0, inversify_1.inject)(frontend_application_state_1.FrontendApplicationStateService),
|
|
214
|
+
tslib_1.__metadata("design:type", frontend_application_state_1.FrontendApplicationStateService)
|
|
215
|
+
], FileNavigatorModel.prototype, "applicationState", void 0);
|
|
216
|
+
tslib_1.__decorate([
|
|
217
|
+
(0, inversify_1.inject)(progress_service_1.ProgressService),
|
|
218
|
+
tslib_1.__metadata("design:type", progress_service_1.ProgressService)
|
|
219
|
+
], FileNavigatorModel.prototype, "progressService", void 0);
|
|
220
|
+
tslib_1.__decorate([
|
|
221
|
+
(0, inversify_1.postConstruct)(),
|
|
222
|
+
tslib_1.__metadata("design:type", Function),
|
|
223
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
224
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
225
|
+
], FileNavigatorModel.prototype, "init", null);
|
|
226
|
+
exports.FileNavigatorModel = FileNavigatorModel = tslib_1.__decorate([
|
|
227
|
+
(0, inversify_1.injectable)()
|
|
228
|
+
], FileNavigatorModel);
|
|
229
|
+
//# sourceMappingURL=navigator-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-model.js","sourceRoot":"","sources":["../../src/browser/navigator-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Emitter, Event } from '@theia/core';
|
|
2
|
+
import { TreeDecorator, Tree, TreeDecoration } from '@theia/core/lib/browser';
|
|
3
|
+
import { DecorationsService } from '@theia/core/lib/browser/decorations-service';
|
|
4
|
+
export declare class NavigatorSymlinkDecorator implements TreeDecorator {
|
|
5
|
+
readonly id = "theia-navigator-symlink-decorator";
|
|
6
|
+
protected readonly decorationsService: DecorationsService;
|
|
7
|
+
protected init(): void;
|
|
8
|
+
decorations(tree: Tree): Promise<Map<string, TreeDecoration.Data>>;
|
|
9
|
+
protected collectDecorator(tree: Tree): Map<string, TreeDecoration.Data>;
|
|
10
|
+
protected readonly onDidChangeDecorationsEmitter: Emitter<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
11
|
+
get onDidChangeDecorations(): Event<(tree: Tree) => Map<string, TreeDecoration.Data>>;
|
|
12
|
+
fireDidChangeDecorations(event: (tree: Tree) => Map<string, TreeDecoration.Data>): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=navigator-symlink-decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigator-symlink-decorator.d.ts","sourceRoot":"","sources":["../../src/browser/navigator-symlink-decorator.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAO,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAA0B,MAAM,yBAAyB,CAAC;AAEtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF,qBACa,yBAA0B,YAAW,aAAa;IAE3D,QAAQ,CAAC,EAAE,uCAAuC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,IAAI,IAAI,IAAI;IAMhB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAIxE,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;IAgBxE,SAAS,CAAC,QAAQ,CAAC,6BAA6B,iBAAsB,IAAI,KAAK,IAAI,MAAM,EAAE,eAAe,IAAI,CAAC,EAAI;IAEnH,IAAI,sBAAsB,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAEpF;IAED,wBAAwB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;CAI1F"}
|