@theia/preferences 1.45.0 → 1.46.0-next.72
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/README.md +81 -81
- package/lib/browser/abstract-resource-preference-provider.d.ts +47 -47
- package/lib/browser/abstract-resource-preference-provider.js +240 -240
- package/lib/browser/abstract-resource-preference-provider.spec.d.ts +1 -1
- package/lib/browser/abstract-resource-preference-provider.spec.js +83 -83
- package/lib/browser/folder-preference-provider.d.ts +20 -20
- package/lib/browser/folder-preference-provider.js +59 -59
- package/lib/browser/folders-preferences-provider.d.ts +27 -27
- package/lib/browser/folders-preferences-provider.js +245 -245
- package/lib/browser/index.d.ts +7 -7
- package/lib/browser/index.js +34 -34
- package/lib/browser/monaco-jsonc-editor.d.ts +9 -9
- package/lib/browser/monaco-jsonc-editor.js +80 -80
- package/lib/browser/package.spec.js +25 -25
- package/lib/browser/preference-bindings.d.ts +4 -4
- package/lib/browser/preference-bindings.js +63 -63
- package/lib/browser/preference-frontend-module.d.ts +6 -6
- package/lib/browser/preference-frontend-module.js +52 -52
- package/lib/browser/preference-open-handler.d.ts +9 -9
- package/lib/browser/preference-open-handler.js +64 -64
- package/lib/browser/preference-transaction-manager.d.ts +100 -100
- package/lib/browser/preference-transaction-manager.js +293 -293
- package/lib/browser/preference-tree-model.d.ts +60 -60
- package/lib/browser/preference-tree-model.js +243 -243
- package/lib/browser/preferences-contribution.d.ts +37 -37
- package/lib/browser/preferences-contribution.js +280 -280
- package/lib/browser/preferences-json-schema-contribution.d.ts +17 -17
- package/lib/browser/preferences-json-schema-contribution.js +91 -91
- package/lib/browser/preferences-monaco-contribution.d.ts +1 -1
- package/lib/browser/preferences-monaco-contribution.js +27 -27
- package/lib/browser/section-preference-provider.d.ts +21 -21
- package/lib/browser/section-preference-provider.js +96 -96
- package/lib/browser/user-configs-preference-provider.d.ts +22 -22
- package/lib/browser/user-configs-preference-provider.js +137 -137
- package/lib/browser/user-preference-provider.d.ts +13 -13
- package/lib/browser/user-preference-provider.js +41 -41
- package/lib/browser/util/preference-scope-command-manager.d.ts +17 -17
- package/lib/browser/util/preference-scope-command-manager.js +87 -87
- package/lib/browser/util/preference-tree-generator.d.ts +31 -31
- package/lib/browser/util/preference-tree-generator.js +237 -237
- package/lib/browser/util/preference-tree-label-provider.d.ts +11 -11
- package/lib/browser/util/preference-tree-label-provider.js +77 -77
- package/lib/browser/util/preference-tree-label-provider.spec.d.ts +1 -1
- package/lib/browser/util/preference-tree-label-provider.spec.js +87 -87
- package/lib/browser/util/preference-types.d.ts +62 -62
- package/lib/browser/util/preference-types.js +128 -128
- package/lib/browser/views/components/preference-array-input.d.ts +28 -28
- package/lib/browser/views/components/preference-array-input.js +180 -180
- package/lib/browser/views/components/preference-boolean-input.d.ts +17 -17
- package/lib/browser/views/components/preference-boolean-input.js +79 -79
- package/lib/browser/views/components/preference-file-input.d.ts +29 -29
- package/lib/browser/views/components/preference-file-input.js +110 -110
- package/lib/browser/views/components/preference-json-input.d.ts +19 -19
- package/lib/browser/views/components/preference-json-input.js +93 -93
- package/lib/browser/views/components/preference-markdown-renderer.d.ts +12 -12
- package/lib/browser/views/components/preference-markdown-renderer.js +81 -81
- package/lib/browser/views/components/preference-node-renderer-creator.d.ts +48 -48
- package/lib/browser/views/components/preference-node-renderer-creator.js +132 -132
- package/lib/browser/views/components/preference-node-renderer.d.ts +112 -112
- package/lib/browser/views/components/preference-node-renderer.js +441 -441
- package/lib/browser/views/components/preference-number-input.d.ts +34 -34
- package/lib/browser/views/components/preference-number-input.js +142 -142
- package/lib/browser/views/components/preference-select-input.d.ts +28 -28
- package/lib/browser/views/components/preference-select-input.js +138 -138
- package/lib/browser/views/components/preference-string-input.d.ts +17 -17
- package/lib/browser/views/components/preference-string-input.js +89 -89
- package/lib/browser/views/preference-editor-widget.d.ts +67 -67
- package/lib/browser/views/preference-editor-widget.js +363 -363
- package/lib/browser/views/preference-scope-tabbar-widget.d.ts +54 -54
- package/lib/browser/views/preference-scope-tabbar-widget.js +343 -343
- package/lib/browser/views/preference-searchbar-widget.d.ts +53 -53
- package/lib/browser/views/preference-searchbar-widget.js +173 -173
- package/lib/browser/views/preference-tree-widget.d.ts +17 -17
- package/lib/browser/views/preference-tree-widget.js +104 -104
- package/lib/browser/views/preference-widget-bindings.d.ts +3 -3
- package/lib/browser/views/preference-widget-bindings.js +87 -87
- package/lib/browser/views/preference-widget.d.ts +36 -36
- package/lib/browser/views/preference-widget.js +126 -126
- package/lib/browser/workspace-file-preference-provider.d.ts +23 -23
- package/lib/browser/workspace-file-preference-provider.js +110 -110
- package/lib/browser/workspace-preference-provider.d.ts +28 -28
- package/lib/browser/workspace-preference-provider.js +142 -142
- package/package.json +10 -10
- package/src/browser/abstract-resource-preference-provider.spec.ts +95 -95
- package/src/browser/abstract-resource-preference-provider.ts +232 -232
- package/src/browser/folder-preference-provider.ts +58 -58
- package/src/browser/folders-preferences-provider.ts +244 -244
- package/src/browser/index.ts +23 -23
- package/src/browser/monaco-jsonc-editor.ts +67 -67
- package/src/browser/package.spec.ts +28 -28
- package/src/browser/preference-bindings.ts +65 -65
- package/src/browser/preference-frontend-module.ts +57 -57
- package/src/browser/preference-open-handler.ts +53 -53
- package/src/browser/preference-transaction-manager.ts +287 -287
- package/src/browser/preference-tree-model.ts +250 -250
- package/src/browser/preferences-contribution.ts +263 -263
- package/src/browser/preferences-json-schema-contribution.ts +86 -86
- package/src/browser/preferences-monaco-contribution.ts +27 -27
- package/src/browser/section-preference-provider.ts +83 -83
- package/src/browser/style/index.css +506 -506
- package/src/browser/style/preference-array.css +94 -94
- package/src/browser/style/preference-context-menu.css +74 -74
- package/src/browser/style/preference-file.css +31 -31
- package/src/browser/style/preference-object.css +49 -49
- package/src/browser/style/search-input.css +66 -66
- package/src/browser/user-configs-preference-provider.ts +127 -127
- package/src/browser/user-preference-provider.ts +35 -35
- package/src/browser/util/preference-scope-command-manager.ts +75 -75
- package/src/browser/util/preference-tree-generator.ts +226 -226
- package/src/browser/util/preference-tree-label-provider.spec.ts +108 -108
- package/src/browser/util/preference-tree-label-provider.ts +64 -64
- package/src/browser/util/preference-types.ts +169 -169
- package/src/browser/views/components/preference-array-input.ts +174 -174
- package/src/browser/views/components/preference-boolean-input.ts +69 -69
- package/src/browser/views/components/preference-file-input.ts +104 -104
- package/src/browser/views/components/preference-json-input.ts +78 -78
- package/src/browser/views/components/preference-markdown-renderer.ts +68 -68
- package/src/browser/views/components/preference-node-renderer-creator.ts +141 -141
- package/src/browser/views/components/preference-node-renderer.ts +477 -477
- package/src/browser/views/components/preference-number-input.ts +147 -147
- package/src/browser/views/components/preference-select-input.ts +131 -131
- package/src/browser/views/components/preference-string-input.ts +76 -76
- package/src/browser/views/preference-editor-widget.ts +349 -349
- package/src/browser/views/preference-scope-tabbar-widget.tsx +344 -344
- package/src/browser/views/preference-searchbar-widget.tsx +183 -183
- package/src/browser/views/preference-tree-widget.tsx +93 -93
- package/src/browser/views/preference-widget-bindings.ts +102 -102
- package/src/browser/views/preference-widget.tsx +117 -117
- package/src/browser/workspace-file-preference-provider.ts +100 -100
- package/src/browser/workspace-preference-provider.ts +134 -134
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2021 Ericsson 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
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
-
};
|
|
23
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
-
};
|
|
26
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.PreferenceTreeLabelProvider = void 0;
|
|
28
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
29
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
30
|
-
const preference_types_1 = require("./preference-types");
|
|
31
|
-
const preference_tree_generator_1 = require("./preference-tree-generator");
|
|
32
|
-
let PreferenceTreeLabelProvider = class PreferenceTreeLabelProvider {
|
|
33
|
-
canHandle(element) {
|
|
34
|
-
return browser_1.TreeNode.is(element) && preference_types_1.Preference.TreeNode.is(element) ? 150 : 0;
|
|
35
|
-
}
|
|
36
|
-
getName(node) {
|
|
37
|
-
var _a;
|
|
38
|
-
const { id } = preference_types_1.Preference.TreeNode.getGroupAndIdFromNodeId(node.id);
|
|
39
|
-
return this.formatString((_a = this.treeGenerator.getCustomLabelFor(id)) !== null && _a !== void 0 ? _a : id.split('.').pop());
|
|
40
|
-
}
|
|
41
|
-
getPrefix(node, fullPath = false) {
|
|
42
|
-
const { depth } = node;
|
|
43
|
-
const { id, group } = preference_types_1.Preference.TreeNode.getGroupAndIdFromNodeId(node.id);
|
|
44
|
-
const segments = id.split('.');
|
|
45
|
-
const segmentsHandled = group === segments[0] ? depth : depth - 1;
|
|
46
|
-
segments.pop(); // Ignore the leaf name.
|
|
47
|
-
const prefixSegments = fullPath ? segments : segments.slice(segmentsHandled);
|
|
48
|
-
if (prefixSegments.length) {
|
|
49
|
-
let output = prefixSegments.length > 1 ? `${this.formatString(prefixSegments[0])} › ` : `${this.formatString(prefixSegments[0])}: `;
|
|
50
|
-
for (const segment of prefixSegments.slice(1)) {
|
|
51
|
-
output += `${this.formatString(segment)}: `;
|
|
52
|
-
}
|
|
53
|
-
return output;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
formatString(string) {
|
|
57
|
-
let formattedString = string[0].toLocaleUpperCase();
|
|
58
|
-
for (let i = 1; i < string.length; i++) {
|
|
59
|
-
if (this.isUpperCase(string[i]) && !/\s/.test(string[i - 1]) && !this.isUpperCase(string[i - 1])) {
|
|
60
|
-
formattedString += ' ';
|
|
61
|
-
}
|
|
62
|
-
formattedString += string[i];
|
|
63
|
-
}
|
|
64
|
-
return formattedString.trim();
|
|
65
|
-
}
|
|
66
|
-
isUpperCase(char) {
|
|
67
|
-
return char === char.toLocaleUpperCase() && char.toLocaleLowerCase() !== char.toLocaleUpperCase();
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
__decorate([
|
|
71
|
-
(0, inversify_1.inject)(preference_tree_generator_1.PreferenceTreeGenerator),
|
|
72
|
-
__metadata("design:type", preference_tree_generator_1.PreferenceTreeGenerator)
|
|
73
|
-
], PreferenceTreeLabelProvider.prototype, "treeGenerator", void 0);
|
|
74
|
-
PreferenceTreeLabelProvider = __decorate([
|
|
75
|
-
(0, inversify_1.injectable)()
|
|
76
|
-
], PreferenceTreeLabelProvider);
|
|
77
|
-
exports.PreferenceTreeLabelProvider = PreferenceTreeLabelProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2021 Ericsson 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
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
18
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
20
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
21
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
22
|
+
};
|
|
23
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
24
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.PreferenceTreeLabelProvider = void 0;
|
|
28
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
29
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
30
|
+
const preference_types_1 = require("./preference-types");
|
|
31
|
+
const preference_tree_generator_1 = require("./preference-tree-generator");
|
|
32
|
+
let PreferenceTreeLabelProvider = class PreferenceTreeLabelProvider {
|
|
33
|
+
canHandle(element) {
|
|
34
|
+
return browser_1.TreeNode.is(element) && preference_types_1.Preference.TreeNode.is(element) ? 150 : 0;
|
|
35
|
+
}
|
|
36
|
+
getName(node) {
|
|
37
|
+
var _a;
|
|
38
|
+
const { id } = preference_types_1.Preference.TreeNode.getGroupAndIdFromNodeId(node.id);
|
|
39
|
+
return this.formatString((_a = this.treeGenerator.getCustomLabelFor(id)) !== null && _a !== void 0 ? _a : id.split('.').pop());
|
|
40
|
+
}
|
|
41
|
+
getPrefix(node, fullPath = false) {
|
|
42
|
+
const { depth } = node;
|
|
43
|
+
const { id, group } = preference_types_1.Preference.TreeNode.getGroupAndIdFromNodeId(node.id);
|
|
44
|
+
const segments = id.split('.');
|
|
45
|
+
const segmentsHandled = group === segments[0] ? depth : depth - 1;
|
|
46
|
+
segments.pop(); // Ignore the leaf name.
|
|
47
|
+
const prefixSegments = fullPath ? segments : segments.slice(segmentsHandled);
|
|
48
|
+
if (prefixSegments.length) {
|
|
49
|
+
let output = prefixSegments.length > 1 ? `${this.formatString(prefixSegments[0])} › ` : `${this.formatString(prefixSegments[0])}: `;
|
|
50
|
+
for (const segment of prefixSegments.slice(1)) {
|
|
51
|
+
output += `${this.formatString(segment)}: `;
|
|
52
|
+
}
|
|
53
|
+
return output;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
formatString(string) {
|
|
57
|
+
let formattedString = string[0].toLocaleUpperCase();
|
|
58
|
+
for (let i = 1; i < string.length; i++) {
|
|
59
|
+
if (this.isUpperCase(string[i]) && !/\s/.test(string[i - 1]) && !this.isUpperCase(string[i - 1])) {
|
|
60
|
+
formattedString += ' ';
|
|
61
|
+
}
|
|
62
|
+
formattedString += string[i];
|
|
63
|
+
}
|
|
64
|
+
return formattedString.trim();
|
|
65
|
+
}
|
|
66
|
+
isUpperCase(char) {
|
|
67
|
+
return char === char.toLocaleUpperCase() && char.toLocaleLowerCase() !== char.toLocaleUpperCase();
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, inversify_1.inject)(preference_tree_generator_1.PreferenceTreeGenerator),
|
|
72
|
+
__metadata("design:type", preference_tree_generator_1.PreferenceTreeGenerator)
|
|
73
|
+
], PreferenceTreeLabelProvider.prototype, "treeGenerator", void 0);
|
|
74
|
+
PreferenceTreeLabelProvider = __decorate([
|
|
75
|
+
(0, inversify_1.injectable)()
|
|
76
|
+
], PreferenceTreeLabelProvider);
|
|
77
|
+
exports.PreferenceTreeLabelProvider = PreferenceTreeLabelProvider;
|
|
78
78
|
//# sourceMappingURL=preference-tree-label-provider.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=preference-tree-label-provider.spec.d.ts.map
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2020 Ericsson 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
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
|
-
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
20
|
-
const 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 inversify_1 = require("@theia/core/shared/inversify");
|
|
25
|
-
const preference_tree_generator_1 = require("./preference-tree-generator");
|
|
26
|
-
const preference_tree_label_provider_1 = require("./preference-tree-label-provider");
|
|
27
|
-
disableJSDOM();
|
|
28
|
-
describe('preference-tree-label-provider', () => {
|
|
29
|
-
let preferenceTreeLabelProvider;
|
|
30
|
-
beforeEach(() => {
|
|
31
|
-
const container = new inversify_1.Container();
|
|
32
|
-
container.bind(preference_tree_generator_1.PreferenceTreeGenerator).toConstantValue({ getCustomLabelFor: () => { } });
|
|
33
|
-
preferenceTreeLabelProvider = container.resolve(preference_tree_label_provider_1.PreferenceTreeLabelProvider);
|
|
34
|
-
});
|
|
35
|
-
it('PreferenceTreeLabelProvider.format', () => {
|
|
36
|
-
const testString = 'aaaBbbCcc Dddd eee';
|
|
37
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Aaa Bbb Ccc Dddd eee');
|
|
38
|
-
});
|
|
39
|
-
it('PreferenceTreeLabelProvider.format.Chinese', () => {
|
|
40
|
-
const testString = '某個設定/某个设定';
|
|
41
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('某個設定/某个设定');
|
|
42
|
-
});
|
|
43
|
-
it('PreferenceTreeLabelProvider.format.Danish', () => {
|
|
44
|
-
const testString = 'indstillingPåEnØ';
|
|
45
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Indstilling På En Ø');
|
|
46
|
-
});
|
|
47
|
-
it('PreferenceTreeLabelProvider.format.Greek', () => {
|
|
48
|
-
const testString = 'κάποιαΡύθμιση';
|
|
49
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Κάποια Ρύθμιση');
|
|
50
|
-
});
|
|
51
|
-
it('PreferenceTreeLabelProvider.format.Russian', () => {
|
|
52
|
-
const testString = 'некоторыеНастройки';
|
|
53
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Некоторые Настройки');
|
|
54
|
-
});
|
|
55
|
-
it('PreferenceTreeLabelProvider.format.Armenian', () => {
|
|
56
|
-
const testString = 'ինչ-որՊարամետր';
|
|
57
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Ինչ-որ Պարամետր');
|
|
58
|
-
});
|
|
59
|
-
it('PreferenceTreeLabelProvider.format.specialCharacters', () => {
|
|
60
|
-
const testString = 'hyphenated-wordC++Setting';
|
|
61
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Hyphenated-word C++ Setting');
|
|
62
|
-
});
|
|
63
|
-
describe('PreferenceTreeLabelProvider.createLeafNode', () => {
|
|
64
|
-
it('when property constructs of three parts the third part is the leaf', () => {
|
|
65
|
-
const property = 'category-name.subcategory.leaf';
|
|
66
|
-
const expectedName = 'Leaf';
|
|
67
|
-
testLeafName(property, expectedName);
|
|
68
|
-
});
|
|
69
|
-
it('when property constructs of two parts the second part is the leaf', () => {
|
|
70
|
-
const property = 'category-name.leaf';
|
|
71
|
-
const expectedName = 'Leaf';
|
|
72
|
-
testLeafName(property, expectedName);
|
|
73
|
-
});
|
|
74
|
-
function testLeafName(property, expectedName) {
|
|
75
|
-
const expectedSelectableTreeNode = {
|
|
76
|
-
id: `group@${property}`,
|
|
77
|
-
parent: undefined,
|
|
78
|
-
visible: true,
|
|
79
|
-
selected: false,
|
|
80
|
-
depth: 2,
|
|
81
|
-
preferenceId: property,
|
|
82
|
-
preference: { data: {} }
|
|
83
|
-
};
|
|
84
|
-
(0, chai_1.expect)(preferenceTreeLabelProvider['getName'](expectedSelectableTreeNode)).deep.eq(expectedName);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2020 Ericsson 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
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
20
|
+
const 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 inversify_1 = require("@theia/core/shared/inversify");
|
|
25
|
+
const preference_tree_generator_1 = require("./preference-tree-generator");
|
|
26
|
+
const preference_tree_label_provider_1 = require("./preference-tree-label-provider");
|
|
27
|
+
disableJSDOM();
|
|
28
|
+
describe('preference-tree-label-provider', () => {
|
|
29
|
+
let preferenceTreeLabelProvider;
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
const container = new inversify_1.Container();
|
|
32
|
+
container.bind(preference_tree_generator_1.PreferenceTreeGenerator).toConstantValue({ getCustomLabelFor: () => { } });
|
|
33
|
+
preferenceTreeLabelProvider = container.resolve(preference_tree_label_provider_1.PreferenceTreeLabelProvider);
|
|
34
|
+
});
|
|
35
|
+
it('PreferenceTreeLabelProvider.format', () => {
|
|
36
|
+
const testString = 'aaaBbbCcc Dddd eee';
|
|
37
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Aaa Bbb Ccc Dddd eee');
|
|
38
|
+
});
|
|
39
|
+
it('PreferenceTreeLabelProvider.format.Chinese', () => {
|
|
40
|
+
const testString = '某個設定/某个设定';
|
|
41
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('某個設定/某个设定');
|
|
42
|
+
});
|
|
43
|
+
it('PreferenceTreeLabelProvider.format.Danish', () => {
|
|
44
|
+
const testString = 'indstillingPåEnØ';
|
|
45
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Indstilling På En Ø');
|
|
46
|
+
});
|
|
47
|
+
it('PreferenceTreeLabelProvider.format.Greek', () => {
|
|
48
|
+
const testString = 'κάποιαΡύθμιση';
|
|
49
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Κάποια Ρύθμιση');
|
|
50
|
+
});
|
|
51
|
+
it('PreferenceTreeLabelProvider.format.Russian', () => {
|
|
52
|
+
const testString = 'некоторыеНастройки';
|
|
53
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Некоторые Настройки');
|
|
54
|
+
});
|
|
55
|
+
it('PreferenceTreeLabelProvider.format.Armenian', () => {
|
|
56
|
+
const testString = 'ինչ-որՊարամետր';
|
|
57
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Ինչ-որ Պարամետր');
|
|
58
|
+
});
|
|
59
|
+
it('PreferenceTreeLabelProvider.format.specialCharacters', () => {
|
|
60
|
+
const testString = 'hyphenated-wordC++Setting';
|
|
61
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['formatString'](testString)).eq('Hyphenated-word C++ Setting');
|
|
62
|
+
});
|
|
63
|
+
describe('PreferenceTreeLabelProvider.createLeafNode', () => {
|
|
64
|
+
it('when property constructs of three parts the third part is the leaf', () => {
|
|
65
|
+
const property = 'category-name.subcategory.leaf';
|
|
66
|
+
const expectedName = 'Leaf';
|
|
67
|
+
testLeafName(property, expectedName);
|
|
68
|
+
});
|
|
69
|
+
it('when property constructs of two parts the second part is the leaf', () => {
|
|
70
|
+
const property = 'category-name.leaf';
|
|
71
|
+
const expectedName = 'Leaf';
|
|
72
|
+
testLeafName(property, expectedName);
|
|
73
|
+
});
|
|
74
|
+
function testLeafName(property, expectedName) {
|
|
75
|
+
const expectedSelectableTreeNode = {
|
|
76
|
+
id: `group@${property}`,
|
|
77
|
+
parent: undefined,
|
|
78
|
+
visible: true,
|
|
79
|
+
selected: false,
|
|
80
|
+
depth: 2,
|
|
81
|
+
preferenceId: property,
|
|
82
|
+
preference: { data: {} }
|
|
83
|
+
};
|
|
84
|
+
(0, chai_1.expect)(preferenceTreeLabelProvider['getName'](expectedSelectableTreeNode)).deep.eq(expectedName);
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
88
|
//# sourceMappingURL=preference-tree-label-provider.spec.js.map
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { PreferenceDataProperty, TreeNode as BaseTreeNode, CompositeTreeNode as BaseCompositeTreeNode, PreferenceInspection } from '@theia/core/lib/browser';
|
|
2
|
-
import { Command, MenuPath } from '@theia/core';
|
|
3
|
-
import { JSONValue } from '@theia/core/shared/@phosphor/coreutils';
|
|
4
|
-
import { JsonType } from '@theia/core/lib/common/json-schema';
|
|
5
|
-
export declare namespace Preference {
|
|
6
|
-
interface EditorCommandArgs {
|
|
7
|
-
id: string;
|
|
8
|
-
value: string | undefined;
|
|
9
|
-
}
|
|
10
|
-
namespace EditorCommandArgs {
|
|
11
|
-
function is(prefObject: EditorCommandArgs): prefObject is EditorCommandArgs;
|
|
12
|
-
}
|
|
13
|
-
const Node: unique symbol;
|
|
14
|
-
type Node = TreeNode;
|
|
15
|
-
type TreeNode = CompositeTreeNode | LeafNode;
|
|
16
|
-
namespace TreeNode {
|
|
17
|
-
const is: (node: BaseTreeNode | TreeNode) => node is TreeNode;
|
|
18
|
-
const isTopLevel: (node: BaseTreeNode) => boolean;
|
|
19
|
-
const getGroupAndIdFromNodeId: (nodeId: string) => {
|
|
20
|
-
group: string;
|
|
21
|
-
id: string;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
interface CompositeTreeNode extends BaseCompositeTreeNode {
|
|
25
|
-
depth: number;
|
|
26
|
-
}
|
|
27
|
-
interface LeafNode extends BaseTreeNode {
|
|
28
|
-
depth: number;
|
|
29
|
-
preference: {
|
|
30
|
-
data: PreferenceDataProperty;
|
|
31
|
-
};
|
|
32
|
-
preferenceId: string;
|
|
33
|
-
}
|
|
34
|
-
namespace LeafNode {
|
|
35
|
-
const is: (node: BaseTreeNode | LeafNode) => node is LeafNode;
|
|
36
|
-
const getType: (node: BaseTreeNode | LeafNode) => JsonType | undefined;
|
|
37
|
-
}
|
|
38
|
-
const getValueInScope: <T extends JSONValue>(preferenceInfo: PreferenceInspection<T> | undefined, scope: number) => T | undefined;
|
|
39
|
-
interface SelectedScopeDetails {
|
|
40
|
-
scope: number;
|
|
41
|
-
uri: string | undefined;
|
|
42
|
-
activeScopeIsFolder: boolean;
|
|
43
|
-
}
|
|
44
|
-
const DEFAULT_SCOPE: SelectedScopeDetails;
|
|
45
|
-
}
|
|
46
|
-
export declare namespace PreferencesCommands {
|
|
47
|
-
const OPEN_PREFERENCES_JSON_TOOLBAR: Command;
|
|
48
|
-
const COPY_JSON_NAME: Command;
|
|
49
|
-
const RESET_PREFERENCE: Command;
|
|
50
|
-
const COPY_JSON_VALUE: Command;
|
|
51
|
-
const OPEN_USER_PREFERENCES: Command;
|
|
52
|
-
const OPEN_WORKSPACE_PREFERENCES: Command;
|
|
53
|
-
const OPEN_FOLDER_PREFERENCES: Command;
|
|
54
|
-
const OPEN_USER_PREFERENCES_JSON: Command;
|
|
55
|
-
const OPEN_WORKSPACE_PREFERENCES_JSON: Command;
|
|
56
|
-
const OPEN_FOLDER_PREFERENCES_JSON: Command;
|
|
57
|
-
}
|
|
58
|
-
export declare namespace PreferenceMenus {
|
|
59
|
-
const PREFERENCE_EDITOR_CONTEXT_MENU: MenuPath;
|
|
60
|
-
const PREFERENCE_EDITOR_COPY_ACTIONS: MenuPath;
|
|
61
|
-
const FOLDER_SCOPE_MENU_PATH: string[];
|
|
62
|
-
}
|
|
1
|
+
import { PreferenceDataProperty, TreeNode as BaseTreeNode, CompositeTreeNode as BaseCompositeTreeNode, PreferenceInspection } from '@theia/core/lib/browser';
|
|
2
|
+
import { Command, MenuPath } from '@theia/core';
|
|
3
|
+
import { JSONValue } from '@theia/core/shared/@phosphor/coreutils';
|
|
4
|
+
import { JsonType } from '@theia/core/lib/common/json-schema';
|
|
5
|
+
export declare namespace Preference {
|
|
6
|
+
interface EditorCommandArgs {
|
|
7
|
+
id: string;
|
|
8
|
+
value: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
namespace EditorCommandArgs {
|
|
11
|
+
function is(prefObject: EditorCommandArgs): prefObject is EditorCommandArgs;
|
|
12
|
+
}
|
|
13
|
+
const Node: unique symbol;
|
|
14
|
+
type Node = TreeNode;
|
|
15
|
+
type TreeNode = CompositeTreeNode | LeafNode;
|
|
16
|
+
namespace TreeNode {
|
|
17
|
+
const is: (node: BaseTreeNode | TreeNode) => node is TreeNode;
|
|
18
|
+
const isTopLevel: (node: BaseTreeNode) => boolean;
|
|
19
|
+
const getGroupAndIdFromNodeId: (nodeId: string) => {
|
|
20
|
+
group: string;
|
|
21
|
+
id: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
interface CompositeTreeNode extends BaseCompositeTreeNode {
|
|
25
|
+
depth: number;
|
|
26
|
+
}
|
|
27
|
+
interface LeafNode extends BaseTreeNode {
|
|
28
|
+
depth: number;
|
|
29
|
+
preference: {
|
|
30
|
+
data: PreferenceDataProperty;
|
|
31
|
+
};
|
|
32
|
+
preferenceId: string;
|
|
33
|
+
}
|
|
34
|
+
namespace LeafNode {
|
|
35
|
+
const is: (node: BaseTreeNode | LeafNode) => node is LeafNode;
|
|
36
|
+
const getType: (node: BaseTreeNode | LeafNode) => JsonType | undefined;
|
|
37
|
+
}
|
|
38
|
+
const getValueInScope: <T extends JSONValue>(preferenceInfo: PreferenceInspection<T> | undefined, scope: number) => T | undefined;
|
|
39
|
+
interface SelectedScopeDetails {
|
|
40
|
+
scope: number;
|
|
41
|
+
uri: string | undefined;
|
|
42
|
+
activeScopeIsFolder: boolean;
|
|
43
|
+
}
|
|
44
|
+
const DEFAULT_SCOPE: SelectedScopeDetails;
|
|
45
|
+
}
|
|
46
|
+
export declare namespace PreferencesCommands {
|
|
47
|
+
const OPEN_PREFERENCES_JSON_TOOLBAR: Command;
|
|
48
|
+
const COPY_JSON_NAME: Command;
|
|
49
|
+
const RESET_PREFERENCE: Command;
|
|
50
|
+
const COPY_JSON_VALUE: Command;
|
|
51
|
+
const OPEN_USER_PREFERENCES: Command;
|
|
52
|
+
const OPEN_WORKSPACE_PREFERENCES: Command;
|
|
53
|
+
const OPEN_FOLDER_PREFERENCES: Command;
|
|
54
|
+
const OPEN_USER_PREFERENCES_JSON: Command;
|
|
55
|
+
const OPEN_WORKSPACE_PREFERENCES_JSON: Command;
|
|
56
|
+
const OPEN_FOLDER_PREFERENCES_JSON: Command;
|
|
57
|
+
}
|
|
58
|
+
export declare namespace PreferenceMenus {
|
|
59
|
+
const PREFERENCE_EDITOR_CONTEXT_MENU: MenuPath;
|
|
60
|
+
const PREFERENCE_EDITOR_COPY_ACTIONS: MenuPath;
|
|
61
|
+
const FOLDER_SCOPE_MENU_PATH: string[];
|
|
62
|
+
}
|
|
63
63
|
//# sourceMappingURL=preference-types.d.ts.map
|