@theia/workspace 1.77.0-next.57 → 1.77.0-next.63
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/test/with-workspace-service-defaults.d.ts +8 -0
- package/lib/browser/test/with-workspace-service-defaults.d.ts.map +1 -0
- package/lib/browser/test/with-workspace-service-defaults.js +28 -0
- package/lib/browser/test/with-workspace-service-defaults.js.map +1 -0
- package/lib/browser/workspace-service.d.ts +85 -0
- package/lib/browser/workspace-service.d.ts.map +1 -1
- package/lib/browser/workspace-service.js +199 -1
- package/lib/browser/workspace-service.js.map +1 -1
- package/lib/browser/workspace-service.spec.d.ts +2 -0
- package/lib/browser/workspace-service.spec.d.ts.map +1 -0
- package/lib/browser/workspace-service.spec.js +232 -0
- package/lib/browser/workspace-service.spec.js.map +1 -0
- package/lib/browser/workspace-uri-contribution.d.ts +14 -0
- package/lib/browser/workspace-uri-contribution.d.ts.map +1 -1
- package/lib/browser/workspace-uri-contribution.js +43 -1
- package/lib/browser/workspace-uri-contribution.js.map +1 -1
- package/lib/browser/workspace-uri-contribution.spec.js +39 -2
- package/lib/browser/workspace-uri-contribution.spec.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/test/with-workspace-service-defaults.ts +26 -0
- package/src/browser/workspace-service.spec.ts +274 -0
- package/src/browser/workspace-service.ts +215 -1
- package/src/browser/workspace-uri-contribution.spec.ts +45 -3
- package/src/browser/workspace-uri-contribution.ts +43 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 STMicroelectronics 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 tslib_1 = require("tslib");
|
|
19
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
20
|
+
let disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
21
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
22
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
23
|
+
const chai_1 = require("chai");
|
|
24
|
+
const uri_1 = tslib_1.__importDefault(require("@theia/core/lib/common/uri"));
|
|
25
|
+
const os_1 = require("@theia/core/lib/common/os");
|
|
26
|
+
const files_1 = require("@theia/filesystem/lib/common/files");
|
|
27
|
+
const workspace_service_1 = require("./workspace-service");
|
|
28
|
+
disableJSDOM();
|
|
29
|
+
describe('WorkspaceService root names', () => {
|
|
30
|
+
let originalIsWindows;
|
|
31
|
+
before(() => {
|
|
32
|
+
disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
33
|
+
});
|
|
34
|
+
after(() => {
|
|
35
|
+
disableJSDOM();
|
|
36
|
+
});
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
// Paths outside the workspace are rendered with `Path.fsPath()`, which branches on the backend OS.
|
|
39
|
+
originalIsWindows = os_1.OS.backend.isWindows;
|
|
40
|
+
os_1.OS.backend.isWindows = false;
|
|
41
|
+
});
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
os_1.OS.backend.isWindows = originalIsWindows;
|
|
44
|
+
});
|
|
45
|
+
const workspaceWith = (...roots) => Object.create(workspace_service_1.WorkspaceService.prototype, {
|
|
46
|
+
tryGetRoots: { value: () => roots.map(root => ({ resource: new uri_1.default(root), isDirectory: true })) }
|
|
47
|
+
});
|
|
48
|
+
const namesOf = (service) => Object.fromEntries(Array.from(service.getRootNames(), ([name, uri]) => [name, uri.toString()]));
|
|
49
|
+
describe('getRootNames', () => {
|
|
50
|
+
it('names each root after its basename', () => {
|
|
51
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///home/user/frontend', 'file:///home/user/backend'))).to.deep.equal({
|
|
52
|
+
frontend: 'file:///home/user/frontend',
|
|
53
|
+
backend: 'file:///home/user/backend'
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
it('names all roots sharing a basename by the shortest tail that tells them apart', () => {
|
|
57
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///bob/app', 'file:///alice/app', 'file:///home/other'))).to.deep.equal({
|
|
58
|
+
'bob/app': 'file:///bob/app',
|
|
59
|
+
'alice/app': 'file:///alice/app',
|
|
60
|
+
other: 'file:///home/other'
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
it('uses as many parent segments as needed', () => {
|
|
64
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///a/src/app', 'file:///b/src/app', 'file:///b/lib/app'))).to.deep.equal({
|
|
65
|
+
'a/src/app': 'file:///a/src/app',
|
|
66
|
+
'b/src/app': 'file:///b/src/app',
|
|
67
|
+
'lib/app': 'file:///b/lib/app'
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
it('names a root with a shorter path than its peer by its whole path', () => {
|
|
71
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///app', 'file:///x/app'))).to.deep.equal({
|
|
72
|
+
app: 'file:///app',
|
|
73
|
+
'x/app': 'file:///x/app'
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
it('qualifies a name that another root name starts with', () => {
|
|
77
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///work/alice', 'file:///home/alice/app', 'file:///home/bob/app'))).to.deep.equal({
|
|
78
|
+
'work/alice': 'file:///work/alice',
|
|
79
|
+
'alice/app': 'file:///home/alice/app',
|
|
80
|
+
'bob/app': 'file:///home/bob/app'
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
it('qualifies the longer name if the shorter one is a whole path', () => {
|
|
84
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///alice', 'file:///home/alice/app', 'file:///home/bob/app'))).to.deep.equal({
|
|
85
|
+
alice: 'file:///alice',
|
|
86
|
+
'home/alice/app': 'file:///home/alice/app',
|
|
87
|
+
'bob/app': 'file:///home/bob/app'
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
it('does not qualify a name that the name of a root nested in it starts with', () => {
|
|
91
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///ws/x', 'file:///ws/x/app', 'file:///other/app'))).to.deep.equal({
|
|
92
|
+
x: 'file:///ws/x',
|
|
93
|
+
'x/app': 'file:///ws/x/app',
|
|
94
|
+
'other/app': 'file:///other/app'
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
it('does not depend on the order of the roots', () => {
|
|
98
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///alice/app', 'file:///bob/app')))
|
|
99
|
+
.to.deep.equal(namesOf(workspaceWith('file:///bob/app', 'file:///alice/app')));
|
|
100
|
+
});
|
|
101
|
+
it('names a root listed twice once, after its basename', () => {
|
|
102
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///home/user/app', 'file:///home/user/app'))).to.deep.equal({
|
|
103
|
+
app: 'file:///home/user/app'
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
it('returns the same names until the roots change', async () => {
|
|
107
|
+
let roots = [files_1.FileStat.dir('file:///alice/app')];
|
|
108
|
+
const service = new workspace_service_1.WorkspaceService();
|
|
109
|
+
service['computeRoots'] = async () => roots;
|
|
110
|
+
await service['updateRoots']();
|
|
111
|
+
const names = service.getRootNames();
|
|
112
|
+
(0, chai_1.expect)(service.getRootNames()).to.equal(names);
|
|
113
|
+
roots = [...roots, files_1.FileStat.dir('file:///bob/app')];
|
|
114
|
+
await service['updateRoots']();
|
|
115
|
+
(0, chai_1.expect)(Array.from(service.getRootNames().keys())).to.deep.equal(['alice/app', 'bob/app']);
|
|
116
|
+
(0, chai_1.expect)(service.getRootName(new uri_1.default('file:///bob/app'))).to.equal('bob/app');
|
|
117
|
+
});
|
|
118
|
+
it('falls back to the URI for roots with the same path', () => {
|
|
119
|
+
(0, chai_1.expect)(namesOf(workspaceWith('file:///x/app', 'memfs:/x/app'))).to.deep.equal({
|
|
120
|
+
'file:///x/app': 'file:///x/app',
|
|
121
|
+
'memfs:/x/app': 'memfs:/x/app'
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
describe('getRootPrefixedPath', () => {
|
|
126
|
+
it('prefixes the path with the name of the root', () => {
|
|
127
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app');
|
|
128
|
+
(0, chai_1.expect)(service.getRootPrefixedPath(new uri_1.default('file:///bob/app/src/index.ts'))).to.equal('bob/app/src/index.ts');
|
|
129
|
+
(0, chai_1.expect)(service.getRootPrefixedPath(new uri_1.default('file:///bob/app'))).to.equal('bob/app');
|
|
130
|
+
});
|
|
131
|
+
it('uses the deepest root for nested roots', () => {
|
|
132
|
+
const service = workspaceWith('file:///ws/theia', 'file:///ws/theia/packages/core');
|
|
133
|
+
(0, chai_1.expect)(service.getRootPrefixedPath(new uri_1.default('file:///ws/theia/packages/core/src/a.ts'))).to.equal('core/src/a.ts');
|
|
134
|
+
});
|
|
135
|
+
it('returns the absolute path for files outside the workspace', () => {
|
|
136
|
+
const service = workspaceWith('file:///ws/theia');
|
|
137
|
+
(0, chai_1.expect)(service.getRootPrefixedPath(new uri_1.default('file:///tmp/a.ts'))).to.equal('/tmp/a.ts');
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
describe('resolveSupraRelativePath', () => {
|
|
141
|
+
const resolve = (service, path) => service.resolveSupraRelativePath(path).map(uri => uri.toString());
|
|
142
|
+
it('resolves a path that starts with the basename of a root', () => {
|
|
143
|
+
const service = workspaceWith('file:///home/user/frontend', 'file:///home/user/backend');
|
|
144
|
+
(0, chai_1.expect)(resolve(service, 'backend/src/index.ts')).to.deep.equal(['file:///home/user/backend/src/index.ts']);
|
|
145
|
+
(0, chai_1.expect)(resolve(service, 'backend')).to.deep.equal(['file:///home/user/backend']);
|
|
146
|
+
});
|
|
147
|
+
it('resolves a path prefixed with more of the root path than its name', () => {
|
|
148
|
+
const service = workspaceWith('file:///alice/app');
|
|
149
|
+
(0, chai_1.expect)(resolve(service, 'alice/app/src/index.ts')).to.deep.equal(['file:///alice/app/src/index.ts']);
|
|
150
|
+
(0, chai_1.expect)(resolve(service, 'bob/app/src/index.ts')).to.deep.equal([]);
|
|
151
|
+
});
|
|
152
|
+
it('resolves a basename shared by several roots in each of them', () => {
|
|
153
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app');
|
|
154
|
+
(0, chai_1.expect)(resolve(service, 'app/src/index.ts')).to.deep.equal(['file:///alice/app/src/index.ts', 'file:///bob/app/src/index.ts']);
|
|
155
|
+
(0, chai_1.expect)(resolve(service, 'bob/app/src/index.ts')).to.deep.equal(['file:///bob/app/src/index.ts']);
|
|
156
|
+
});
|
|
157
|
+
it('does not resolve absolute paths, paths leaving the root or paths without a root basename', () => {
|
|
158
|
+
const service = workspaceWith('file:///home/user/backend');
|
|
159
|
+
(0, chai_1.expect)(resolve(service, '/home/user/backend/a.ts')).to.deep.equal([]);
|
|
160
|
+
(0, chai_1.expect)(resolve(service, 'C:\\backend\\a.ts')).to.deep.equal([]);
|
|
161
|
+
(0, chai_1.expect)(resolve(service, '../backend/a.ts')).to.deep.equal([]);
|
|
162
|
+
(0, chai_1.expect)(resolve(service, 'src/index.ts')).to.deep.equal([]);
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
describe('splitRootPrefixedPath', () => {
|
|
166
|
+
const split = (service, path) => {
|
|
167
|
+
const result = service.splitRootPrefixedPath(path);
|
|
168
|
+
return result && { ...result, rootUri: result.rootUri.toString() };
|
|
169
|
+
};
|
|
170
|
+
it('splits off the longest matching root name and keeps the rest as it is', () => {
|
|
171
|
+
const service = workspaceWith('file:///ws/x', 'file:///ws/x/app', 'file:///other/app');
|
|
172
|
+
(0, chai_1.expect)(split(service, 'x/app/src/**/\\*.ts')).to.deep.equal({ rootName: 'x/app', rootUri: 'file:///ws/x/app', rest: 'src/**/\\*.ts' });
|
|
173
|
+
(0, chai_1.expect)(split(service, 'x/lib/{a,b}.ts')).to.deep.equal({ rootName: 'x', rootUri: 'file:///ws/x', rest: 'lib/{a,b}.ts' });
|
|
174
|
+
(0, chai_1.expect)(split(service, 'other/app')).to.deep.equal({ rootName: 'other/app', rootUri: 'file:///other/app', rest: '' });
|
|
175
|
+
});
|
|
176
|
+
it('does not split a path without a root name', () => {
|
|
177
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app');
|
|
178
|
+
(0, chai_1.expect)(split(service, 'app/src/index.ts')).to.be.undefined;
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
describe('resolveRootPrefixedPath', () => {
|
|
182
|
+
const resolve = (service, path) => service.resolveRootPrefixedPath(path)?.toString();
|
|
183
|
+
it('resolves a path relative to the named root', () => {
|
|
184
|
+
const service = workspaceWith('file:///home/user/frontend', 'file:///home/user/backend');
|
|
185
|
+
(0, chai_1.expect)(resolve(service, 'backend/src/index.ts')).to.equal('file:///home/user/backend/src/index.ts');
|
|
186
|
+
(0, chai_1.expect)(resolve(service, 'backend')).to.equal('file:///home/user/backend');
|
|
187
|
+
});
|
|
188
|
+
it('resolves parent-qualified root names', () => {
|
|
189
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app');
|
|
190
|
+
(0, chai_1.expect)(resolve(service, 'bob/app/src/index.ts')).to.equal('file:///bob/app/src/index.ts');
|
|
191
|
+
(0, chai_1.expect)(resolve(service, 'alice/app')).to.equal('file:///alice/app');
|
|
192
|
+
});
|
|
193
|
+
it('does not resolve a basename shared by several roots', () => {
|
|
194
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app');
|
|
195
|
+
(0, chai_1.expect)(resolve(service, 'app/src/index.ts')).to.be.undefined;
|
|
196
|
+
});
|
|
197
|
+
it('prefers the longest matching root name', () => {
|
|
198
|
+
const service = workspaceWith('file:///ws/x', 'file:///ws/x/app', 'file:///other/app');
|
|
199
|
+
(0, chai_1.expect)(resolve(service, 'x/app/src/index.ts')).to.equal('file:///ws/x/app/src/index.ts');
|
|
200
|
+
(0, chai_1.expect)(resolve(service, 'x/lib/index.ts')).to.equal('file:///ws/x/lib/index.ts');
|
|
201
|
+
});
|
|
202
|
+
it('accepts backslashes and redundant segments', () => {
|
|
203
|
+
const service = workspaceWith('file:///home/user/backend');
|
|
204
|
+
(0, chai_1.expect)(resolve(service, 'backend\\src\\index.ts')).to.equal('file:///home/user/backend/src/index.ts');
|
|
205
|
+
(0, chai_1.expect)(resolve(service, './backend/src/../lib/a.ts')).to.equal('file:///home/user/backend/lib/a.ts');
|
|
206
|
+
});
|
|
207
|
+
it('does not resolve absolute paths, URIs or paths leaving the root', () => {
|
|
208
|
+
const service = workspaceWith('file:///home/user/backend');
|
|
209
|
+
(0, chai_1.expect)(resolve(service, '/home/user/backend/a.ts')).to.be.undefined;
|
|
210
|
+
(0, chai_1.expect)(resolve(service, 'C:\\backend\\a.ts')).to.be.undefined;
|
|
211
|
+
(0, chai_1.expect)(resolve(service, 'file:///home/user/backend/a.ts')).to.be.undefined;
|
|
212
|
+
(0, chai_1.expect)(resolve(service, 'backend/../../etc/passwd')).to.be.undefined;
|
|
213
|
+
});
|
|
214
|
+
it('does not resolve paths without a root name', () => {
|
|
215
|
+
const service = workspaceWith('file:///home/user/backend');
|
|
216
|
+
(0, chai_1.expect)(resolve(service, 'src/index.ts')).to.be.undefined;
|
|
217
|
+
});
|
|
218
|
+
it('is the inverse of getRootPrefixedPath', () => {
|
|
219
|
+
const service = workspaceWith('file:///alice/app', 'file:///bob/app', 'file:///ws/theia', 'file:///ws/theia/packages/core');
|
|
220
|
+
for (const file of ['file:///alice/app/a.ts', 'file:///bob/app/a.ts', 'file:///ws/theia/b.ts', 'file:///ws/theia/packages/core/c.ts']) {
|
|
221
|
+
(0, chai_1.expect)(resolve(service, service.getRootPrefixedPath(new uri_1.default(file)))).to.equal(file);
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
it('is the inverse of getRootPrefixedPath for a root with a folder named like another root', () => {
|
|
225
|
+
const service = workspaceWith('file:///work/alice', 'file:///home/alice/app', 'file:///home/bob/app');
|
|
226
|
+
for (const file of ['file:///work/alice/app/x.ts', 'file:///home/alice/app/x.ts']) {
|
|
227
|
+
(0, chai_1.expect)(resolve(service, service.getRootPrefixedPath(new uri_1.default(file)))).to.equal(file);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
//# sourceMappingURL=workspace-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-service.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,23 @@ import { WorkspaceVariableContribution } from './workspace-variable-contribution
|
|
|
6
6
|
export declare class WorkspaceUriLabelProviderContribution extends DefaultUriLabelProviderContribution {
|
|
7
7
|
protected readonly workspaceVariable: WorkspaceVariableContribution;
|
|
8
8
|
protected readonly workspaceService: WorkspaceService;
|
|
9
|
+
/**
|
|
10
|
+
* The names of the workspace roots by root URI, as last labeled.
|
|
11
|
+
*/
|
|
12
|
+
protected rootNames: Map<string, string>;
|
|
9
13
|
init(): void;
|
|
14
|
+
protected getRootNamesByUri(): Map<string, string>;
|
|
15
|
+
/**
|
|
16
|
+
* Notifies a change of the labels of the roots whose names changed, such as a root named `app` that
|
|
17
|
+
* is named `alice/app` once a root `bob/app` is added.
|
|
18
|
+
*/
|
|
19
|
+
protected updateRootNames(): void;
|
|
10
20
|
canHandle(element: object): number;
|
|
11
21
|
getIcon(element: URI | URIIconReference | FileStat): string;
|
|
22
|
+
/**
|
|
23
|
+
* Names a workspace root by its unique name (see {@link WorkspaceService.getRootNames}), so that
|
|
24
|
+
* roots sharing a folder name can be told apart, e.g. `alice/app` and `bob/app`.
|
|
25
|
+
*/
|
|
12
26
|
getName(element: URI | URIIconReference | FileStat): string | undefined;
|
|
13
27
|
/**
|
|
14
28
|
* trims the workspace root from a file uri, if it is a child.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-uri-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBACa,qCAAsC,SAAQ,mCAAmC;IAEnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IACjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-uri-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,mCAAmC,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/G,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,qBACa,qCAAsC,SAAQ,mCAAmC;IAEnD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;IACjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEhF;;OAEG;IACH,SAAS,CAAC,SAAS,sBAA6B;IAGvC,IAAI,IAAI,IAAI;IAKrB,SAAS,CAAC,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIlD;;;OAGG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAmBxB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOlC,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM;IAIpE;;;OAGG;IACM,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAShF;;OAEG;IACM,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAY3E,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAenF,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,gBAAgB;cAW7E,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS;CAMzF"}
|
|
@@ -24,8 +24,41 @@ const files_1 = require("@theia/filesystem/lib/common/files");
|
|
|
24
24
|
const workspace_service_1 = require("./workspace-service");
|
|
25
25
|
const workspace_variable_contribution_1 = require("./workspace-variable-contribution");
|
|
26
26
|
let WorkspaceUriLabelProviderContribution = class WorkspaceUriLabelProviderContribution extends label_provider_1.DefaultUriLabelProviderContribution {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
/**
|
|
30
|
+
* The names of the workspace roots by root URI, as last labeled.
|
|
31
|
+
*/
|
|
32
|
+
this.rootNames = new Map();
|
|
33
|
+
}
|
|
27
34
|
init() {
|
|
28
|
-
|
|
35
|
+
this.rootNames = this.getRootNamesByUri();
|
|
36
|
+
this.workspaceService.onWorkspaceChanged(() => this.updateRootNames());
|
|
37
|
+
}
|
|
38
|
+
getRootNamesByUri() {
|
|
39
|
+
return new Map(Array.from(this.workspaceService.getRootNames(), ([name, uri]) => [uri.toString(), name]));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Notifies a change of the labels of the roots whose names changed, such as a root named `app` that
|
|
43
|
+
* is named `alice/app` once a root `bob/app` is added.
|
|
44
|
+
*/
|
|
45
|
+
updateRootNames() {
|
|
46
|
+
const rootNames = this.getRootNamesByUri();
|
|
47
|
+
const changed = new Set();
|
|
48
|
+
for (const [uri, name] of rootNames) {
|
|
49
|
+
if (this.rootNames.get(uri) !== name) {
|
|
50
|
+
changed.add(uri);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
this.rootNames = rootNames;
|
|
54
|
+
if (changed.size > 0) {
|
|
55
|
+
this.onDidChangeEmitter.fire({
|
|
56
|
+
affects: element => {
|
|
57
|
+
const uri = this.canHandle(element) > 0 ? this.getUri(element) : undefined;
|
|
58
|
+
return !!uri && changed.has(uri.toString());
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
29
62
|
}
|
|
30
63
|
canHandle(element) {
|
|
31
64
|
if ((element instanceof uri_1.default && element.scheme === 'file' || label_provider_1.URIIconReference.is(element) || files_1.FileStat.is(element))) {
|
|
@@ -36,7 +69,16 @@ let WorkspaceUriLabelProviderContribution = class WorkspaceUriLabelProviderContr
|
|
|
36
69
|
getIcon(element) {
|
|
37
70
|
return super.getIcon(this.asURIIconReference(element));
|
|
38
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Names a workspace root by its unique name (see {@link WorkspaceService.getRootNames}), so that
|
|
74
|
+
* roots sharing a folder name can be told apart, e.g. `alice/app` and `bob/app`.
|
|
75
|
+
*/
|
|
39
76
|
getName(element) {
|
|
77
|
+
const uri = this.getUri(element);
|
|
78
|
+
const rootName = uri && this.workspaceService.getRootName(uri);
|
|
79
|
+
if (rootName) {
|
|
80
|
+
return rootName;
|
|
81
|
+
}
|
|
40
82
|
return super.getName(this.asURIIconReference(element));
|
|
41
83
|
}
|
|
42
84
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-uri-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.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,2EAA+G;AAC/G,6EAA6C;AAC7C,4DAAiF;AACjF,8DAA8D;AAC9D,2DAAuD;AACvD,uFAAkF;AAG3E,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,oDAAmC;
|
|
1
|
+
{"version":3,"file":"workspace-uri-contribution.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,12 @@ after(() => disableJSDOM());
|
|
|
39
39
|
let container;
|
|
40
40
|
let labelProvider;
|
|
41
41
|
let roots;
|
|
42
|
+
let workspaceService;
|
|
43
|
+
/** Changes the roots, as `WorkspaceService.updateRoots` does, which resets their names. */
|
|
44
|
+
const setRoots = (newRoots) => {
|
|
45
|
+
roots = newRoots;
|
|
46
|
+
workspaceService['rootNamesCache'] = undefined;
|
|
47
|
+
};
|
|
42
48
|
beforeEach(() => {
|
|
43
49
|
roots = [files_1.FileStat.dir('file:///workspace')];
|
|
44
50
|
container = new inversify_1.Container();
|
|
@@ -51,7 +57,7 @@ beforeEach(() => {
|
|
|
51
57
|
onDidCreateWidget: event_1.Event.None
|
|
52
58
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
59
|
});
|
|
54
|
-
|
|
60
|
+
workspaceService = new workspace_service_1.WorkspaceService();
|
|
55
61
|
workspaceService.tryGetRoots = () => roots;
|
|
56
62
|
container.bind(workspace_service_1.WorkspaceService).toConstantValue(workspaceService);
|
|
57
63
|
container.bind(workspace_variable_contribution_1.WorkspaceVariableContribution).toSelf().inSingletonScope();
|
|
@@ -123,6 +129,37 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
|
|
|
123
129
|
const name = labelProvider.getName(file);
|
|
124
130
|
(0, chai_1.expect)(name).eq('jacques.doc');
|
|
125
131
|
});
|
|
132
|
+
it('should return the folder name of a workspace root', () => {
|
|
133
|
+
setRoots([files_1.FileStat.dir('file:///home/alice/app'), files_1.FileStat.dir('file:///home/bob/lib')]);
|
|
134
|
+
(0, chai_1.expect)(labelProvider.getName(files_1.FileStat.dir('file:///home/alice/app'))).eq('app');
|
|
135
|
+
});
|
|
136
|
+
it('should return the unique names of workspace roots sharing a folder name', () => {
|
|
137
|
+
setRoots([files_1.FileStat.dir('file:///home/alice/app'), files_1.FileStat.dir('file:///home/bob/app')]);
|
|
138
|
+
(0, chai_1.expect)(labelProvider.getName(files_1.FileStat.dir('file:///home/alice/app'))).eq('alice/app');
|
|
139
|
+
(0, chai_1.expect)(labelProvider.getName(new uri_1.default('file:///home/bob/app'))).eq('bob/app');
|
|
140
|
+
});
|
|
141
|
+
it('should return the folder name of a folder that shares its name with a workspace root', () => {
|
|
142
|
+
setRoots([files_1.FileStat.dir('file:///home/alice/app'), files_1.FileStat.dir('file:///home/bob/app')]);
|
|
143
|
+
(0, chai_1.expect)(labelProvider.getName(files_1.FileStat.dir('file:///home/alice/app/app'))).eq('app');
|
|
144
|
+
});
|
|
145
|
+
it('should notify a change of the name of a workspace root when a root sharing its folder name is added', () => {
|
|
146
|
+
setRoots([files_1.FileStat.dir('file:///home/alice/app'), files_1.FileStat.dir('file:///home/other')]);
|
|
147
|
+
workspaceService['onWorkspaceChangeEmitter'].fire(roots);
|
|
148
|
+
const events = [];
|
|
149
|
+
labelProvider.onDidChange(event => events.push(event));
|
|
150
|
+
setRoots([...roots, files_1.FileStat.dir('file:///home/bob/app')]);
|
|
151
|
+
workspaceService['onWorkspaceChangeEmitter'].fire(roots);
|
|
152
|
+
(0, chai_1.expect)(events.some(event => event.affects(new uri_1.default('file:///home/alice/app')))).to.be.true;
|
|
153
|
+
(0, chai_1.expect)(events.some(event => event.affects(files_1.FileStat.dir('file:///home/alice/app')))).to.be.true;
|
|
154
|
+
(0, chai_1.expect)(events.some(event => event.affects(new uri_1.default('file:///home/other')))).to.be.false;
|
|
155
|
+
(0, chai_1.expect)(labelProvider.getName(new uri_1.default('file:///home/alice/app'))).eq('alice/app');
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
describe('getDetails()', () => {
|
|
159
|
+
it('should prefix the path of a file with the unique name of its workspace root', () => {
|
|
160
|
+
setRoots([files_1.FileStat.dir('file:///home/alice/app'), files_1.FileStat.dir('file:///home/bob/app')]);
|
|
161
|
+
(0, chai_1.expect)(labelProvider.getDetails(new uri_1.default('file:///home/bob/app/src/index.ts'))).eq('bob/app • src');
|
|
162
|
+
});
|
|
126
163
|
});
|
|
127
164
|
describe('getLongName()', () => {
|
|
128
165
|
it('should return the path of a file relative to the workspace from the file\'s URI if the file is in the workspace', () => {
|
|
@@ -156,7 +193,7 @@ describe('WorkspaceUriLabelProviderContribution class', () => {
|
|
|
156
193
|
}
|
|
157
194
|
});
|
|
158
195
|
it('should return the path of a file if WorkspaceService returns no roots', () => {
|
|
159
|
-
|
|
196
|
+
setRoots([]);
|
|
160
197
|
const file = new uri_1.default('file:///tmp/prout.txt');
|
|
161
198
|
const longName = labelProvider.getLongName(file);
|
|
162
199
|
if (os_1.OS.backend.isWindows) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-uri-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,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,8DAAiE;AACjE,MAAM,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AAEnC,+BAA8B;AAC9B,qDAA+B;AAC/B,4DAAyD;AACzD,wDAAqD;AACrD,qDAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"workspace-uri-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/workspace-uri-contribution.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/workspace",
|
|
3
|
-
"version": "1.77.0-next.
|
|
3
|
+
"version": "1.77.0-next.63+046af0812",
|
|
4
4
|
"description": "Theia - Workspace Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.77.0-next.
|
|
7
|
-
"@theia/filesystem": "1.77.0-next.
|
|
8
|
-
"@theia/variable-resolver": "1.77.0-next.
|
|
6
|
+
"@theia/core": "1.77.0-next.63+046af0812",
|
|
7
|
+
"@theia/filesystem": "1.77.0-next.63+046af0812",
|
|
8
|
+
"@theia/variable-resolver": "1.77.0-next.63+046af0812",
|
|
9
9
|
"jsonc-parser": "^3.3.1",
|
|
10
10
|
"tslib": "^2.8.1",
|
|
11
11
|
"valid-filename": "^2.0.1"
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"nyc": {
|
|
56
56
|
"extends": "../../configs/nyc.json"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "046af0812516f46f2bf7ce3357cca0b672159b20"
|
|
59
59
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 STMicroelectronics and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { WorkspaceService } from '../workspace-service';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Turns a partial mock of the workspace service into one that falls back to the real
|
|
21
|
+
* `WorkspaceService` methods for anything it does not stub, such as the root naming that
|
|
22
|
+
* is computed from `tryGetRoots()`. The mock is modified in place and returned.
|
|
23
|
+
*/
|
|
24
|
+
export function withWorkspaceServiceDefaults(mock: object): WorkspaceService {
|
|
25
|
+
return Object.setPrototypeOf(mock, WorkspaceService.prototype);
|
|
26
|
+
}
|