@theia/preferences 1.55.0-next.4 → 1.55.0-next.67
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/preference-frontend-module.d.ts.map +1 -1
- package/lib/browser/preference-frontend-module.js +2 -0
- package/lib/browser/preference-frontend-module.js.map +1 -1
- package/lib/browser/util/preference-tree-generator.d.ts +2 -0
- package/lib/browser/util/preference-tree-generator.d.ts.map +1 -1
- package/lib/browser/util/preference-tree-generator.js +13 -6
- package/lib/browser/util/preference-tree-generator.js.map +1 -1
- package/lib/browser/views/components/preference-markdown-renderer.d.ts +2 -0
- package/lib/browser/views/components/preference-markdown-renderer.d.ts.map +1 -1
- package/lib/browser/views/components/preference-markdown-renderer.js +17 -6
- package/lib/browser/views/components/preference-markdown-renderer.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/preference-frontend-module.ts +4 -1
- package/src/browser/style/index.css +4 -0
- package/src/browser/util/preference-tree-generator.ts +12 -6
- package/src/browser/views/components/preference-markdown-renderer.ts +20 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAmB3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CA2BtF;;AAED,wBAEG"}
|
|
@@ -35,6 +35,7 @@ const cli_preferences_1 = require("../common/cli-preferences");
|
|
|
35
35
|
const service_connection_provider_1 = require("@theia/core/lib/browser/messaging/service-connection-provider");
|
|
36
36
|
const preference_frontend_contribution_1 = require("./preference-frontend-contribution");
|
|
37
37
|
const preference_layout_1 = require("./util/preference-layout");
|
|
38
|
+
const preference_widget_1 = require("./views/preference-widget");
|
|
38
39
|
function bindPreferences(bind, unbind) {
|
|
39
40
|
(0, preference_bindings_1.bindPreferenceProviders)(bind, unbind);
|
|
40
41
|
(0, preference_widget_bindings_1.bindPreferencesWidgets)(bind);
|
|
@@ -53,6 +54,7 @@ function bindPreferences(bind, unbind) {
|
|
|
53
54
|
bind(cli_preferences_1.CliPreferences).toDynamicValue(ctx => service_connection_provider_1.ServiceConnectionProvider.createProxy(ctx.container, cli_preferences_1.CliPreferencesPath)).inSingletonScope();
|
|
54
55
|
bind(preference_frontend_contribution_1.PreferenceFrontendContribution).toSelf().inSingletonScope();
|
|
55
56
|
bind(browser_1.FrontendApplicationContribution).toService(preference_frontend_contribution_1.PreferenceFrontendContribution);
|
|
57
|
+
bind(browser_1.WidgetStatusBarContribution).toConstantValue((0, browser_1.noopWidgetStatusBarContribution)(preference_widget_1.PreferencesWidget));
|
|
56
58
|
}
|
|
57
59
|
exports.bindPreferences = bindPreferences;
|
|
58
60
|
exports.default = new inversify_1.ContainerModule((bind, unbind, isBound, rebind) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-frontend-module.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.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,6CAA2C;AAC3C,6CAA2C;AAC3C,4DAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"preference-frontend-module.js","sourceRoot":"","sources":["../../src/browser/preference-frontend-module.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,6CAA2C;AAC3C,6CAA2C;AAC3C,4DAA2E;AAC3E,qDAA2K;AAC3K,mFAA0F;AAC1F,gFAA2E;AAC3E,+DAAgE;AAChE,mFAA4E;AAC5E,yEAAqE;AACrE,8FAAwF;AACxF,iFAAmF;AACnF,iGAA2F;AAC3F,+DAA0D;AAC1D,qFAA4I;AAC5I,uEAAkE;AAClE,+DAA+E;AAC/E,+GAA0G;AAC1G,yFAAoF;AACpF,gEAAoE;AACpE,iEAA8D;AAE9D,SAAgB,eAAe,CAAC,IAAqB,EAAE,MAAyB;IAC5E,IAAA,6CAAuB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,IAAA,mDAAsB,EAAC,IAAI,CAAC,CAAC;IAE7B,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAI,CAAC,4CAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE3D,IAAA,8BAAoB,EAAC,IAAI,EAAE,kDAAuB,CAAC,CAAC;IAEpD,IAAI,CAAC,+CAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,qBAAW,CAAC,CAAC,SAAS,CAAC,+CAAqB,CAAC,CAAC;IAEnD,IAAI,CAAC,gEAA6B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAChE,IAAI,CAAC,2CAAyB,CAAC,CAAC,SAAS,CAAC,kDAAuB,CAAC,CAAC;IAEnE,IAAI,CAAC,wEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,0CAAsB,CAAC,CAAC,SAAS,CAAC,wEAAiC,CAAC,CAAC;IAE1E,IAAI,CAAC,uCAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sDAAqB,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,IAAI,CAAC,6DAA4B,CAAC,CAAC,SAAS,CAAC,oEAAmC,CAAC,CAAC;IAElF,IAAI,CAAC,gCAAc,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,uDAAyB,CAAC,WAAW,CAAiB,GAAG,CAAC,SAAS,EAAE,oCAAkB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxJ,IAAI,CAAC,iEAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACjE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,iEAA8B,CAAC,CAAC;IAEhF,IAAI,CAAC,qCAA2B,CAAC,CAAC,eAAe,CAAC,IAAA,yCAA+B,EAAC,qCAAiB,CAAC,CAAC,CAAC;AAC1G,CAAC;AA3BD,0CA2BC;AAED,kBAAe,IAAI,2BAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACjE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
|
|
@@ -17,6 +17,7 @@ export declare class PreferenceTreeGenerator {
|
|
|
17
17
|
protected readonly preferenceConfigs: PreferenceConfigurations;
|
|
18
18
|
protected readonly layoutProvider: PreferenceLayoutProvider;
|
|
19
19
|
protected _root: CompositeTreeNode;
|
|
20
|
+
protected _idCache: Map<string, string>;
|
|
20
21
|
protected readonly onSchemaChangedEmitter: Emitter<CompositeTreeNode>;
|
|
21
22
|
readonly onSchemaChanged: import("@theia/core").Event<CompositeTreeNode>;
|
|
22
23
|
protected readonly defaultTopLevelCategory = "extensions";
|
|
@@ -29,6 +30,7 @@ export declare class PreferenceTreeGenerator {
|
|
|
29
30
|
getNodeId(preferenceId: string): string;
|
|
30
31
|
protected getGroupName(labels: string[]): string;
|
|
31
32
|
protected getSubgroupName(labels: string[], computedGroupName: string): string | undefined;
|
|
33
|
+
protected generateName(id: string): string;
|
|
32
34
|
doHandleChangedSchema(): void;
|
|
33
35
|
handleChangedSchema: import("lodash").DebouncedFunc<() => void>;
|
|
34
36
|
protected createRootNode(): CompositeTreeNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-tree-generator.d.ts","sourceRoot":"","sources":["../../../src/browser/util/preference-tree-generator.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAA6B,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzI,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgC,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE7F,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBACa,uBAAuB;IAEE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAE9F,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-tree-generator.d.ts","sourceRoot":"","sources":["../../../src/browser/util/preference-tree-generator.ts"],"names":[],"mappings":";AAiBA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAA6B,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzI,OAAO,EAAE,wBAAwB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgC,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE7F,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBACa,uBAAuB;IAEE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAE9F,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC;IACnC,SAAS,CAAC,QAAQ,sBAA6B;IAE/C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,6BAAoC;IAC7E,QAAQ,CAAC,eAAe,iDAAqC;IAC7D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAgB;IAE1D,IAAI,IAAI,IAAI,iBAAiB,CAE5B;IAGD,SAAS,CAAC,IAAI,IAAI,IAAI;cAIN,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,YAAY,IAAI,iBAAiB;IA6DjC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAuBjK,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAmChK,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIvC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;IAQhD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAU1F,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI1C,qBAAqB,IAAI,IAAI;IAK7B,mBAAmB,uCALM,IAAI,EAKmC;IAEhE,SAAS,CAAC,cAAc,IAAI,iBAAiB;IAU7C,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,sBAAsB,GAAG,UAAU,CAAC,QAAQ;IAc7I,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,UAAU,CAAC,iBAAiB;IAoBtG,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,6BAA6B,GAAG;QAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAA;KAAE,GAAG,UAAU,CAAC,iBAAiB;CAOtK"}
|
|
@@ -26,6 +26,7 @@ const preference_types_1 = require("./preference-types");
|
|
|
26
26
|
const preference_layout_1 = require("./preference-layout");
|
|
27
27
|
let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
28
28
|
constructor() {
|
|
29
|
+
this._idCache = new Map();
|
|
29
30
|
this.onSchemaChangedEmitter = new core_1.Emitter();
|
|
30
31
|
this.onSchemaChanged = this.onSchemaChangedEmitter.event;
|
|
31
32
|
this.defaultTopLevelCategory = 'extensions';
|
|
@@ -45,6 +46,7 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
45
46
|
}
|
|
46
47
|
generateTree() {
|
|
47
48
|
var _a;
|
|
49
|
+
this._idCache.clear();
|
|
48
50
|
const preferencesSchema = this.schemaProvider.getCombinedSchema();
|
|
49
51
|
const propertyNames = Object.keys(preferencesSchema.properties);
|
|
50
52
|
const groups = new Map();
|
|
@@ -102,8 +104,9 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
102
104
|
}
|
|
103
105
|
;
|
|
104
106
|
createBuiltinLeafNode(name, property, root, groups) {
|
|
107
|
+
var _a, _b;
|
|
105
108
|
const layoutItem = this.layoutProvider.getLayoutForPreference(name);
|
|
106
|
-
const labels = layoutItem ? layoutItem.id
|
|
109
|
+
const labels = ((_a = layoutItem === null || layoutItem === void 0 ? void 0 : layoutItem.id) !== null && _a !== void 0 ? _a : name).split('.');
|
|
107
110
|
const groupID = this.getGroupName(labels);
|
|
108
111
|
const subgroupName = this.getSubgroupName(labels, groupID);
|
|
109
112
|
const subgroupID = [groupID, subgroupName].join('.');
|
|
@@ -111,14 +114,15 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
111
114
|
id: groupID,
|
|
112
115
|
group: groupID,
|
|
113
116
|
root,
|
|
114
|
-
groups
|
|
117
|
+
groups,
|
|
118
|
+
label: this.generateName(groupID)
|
|
115
119
|
});
|
|
116
120
|
const immediateParent = subgroupName ? this.getOrCreatePreferencesGroup({
|
|
117
121
|
id: subgroupID,
|
|
118
122
|
group: groupID,
|
|
119
123
|
root: toplevelParent,
|
|
120
124
|
groups,
|
|
121
|
-
label: layoutItem === null || layoutItem === void 0 ? void 0 : layoutItem.label
|
|
125
|
+
label: (_b = layoutItem === null || layoutItem === void 0 ? void 0 : layoutItem.label) !== null && _b !== void 0 ? _b : this.generateName(subgroupName)
|
|
122
126
|
}) : undefined;
|
|
123
127
|
this.createLeafNode(name, immediateParent || toplevelParent, property);
|
|
124
128
|
}
|
|
@@ -157,9 +161,8 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
157
161
|
this.createLeafNode(name, subsubgroupParent || subgroupParent, property);
|
|
158
162
|
}
|
|
159
163
|
getNodeId(preferenceId) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return expectedId;
|
|
164
|
+
var _a;
|
|
165
|
+
return (_a = this._idCache.get(preferenceId)) !== null && _a !== void 0 ? _a : '';
|
|
163
166
|
}
|
|
164
167
|
getGroupName(labels) {
|
|
165
168
|
const defaultGroup = labels[0];
|
|
@@ -179,6 +182,9 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
179
182
|
return undefined;
|
|
180
183
|
}
|
|
181
184
|
}
|
|
185
|
+
generateName(id) {
|
|
186
|
+
return id.substring(0, 1).toUpperCase() + id.substring(1);
|
|
187
|
+
}
|
|
182
188
|
doHandleChangedSchema() {
|
|
183
189
|
const newTree = this.generateTree();
|
|
184
190
|
this.onSchemaChangedEmitter.fire(newTree);
|
|
@@ -201,6 +207,7 @@ let PreferenceTreeGenerator = class PreferenceTreeGenerator {
|
|
|
201
207
|
preference: { data },
|
|
202
208
|
depth: preference_types_1.Preference.TreeNode.isTopLevel(preferencesGroup) ? 1 : 2
|
|
203
209
|
};
|
|
210
|
+
this._idCache.set(property, newNode.id);
|
|
204
211
|
browser_1.CompositeTreeNode.addChild(preferencesGroup, newNode);
|
|
205
212
|
return newNode;
|
|
206
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-tree-generator.js","sourceRoot":"","sources":["../../../src/browser/util/preference-tree-generator.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,4DAAiF;AACjF,qDAAyI;AACzI,6GAAyG;AACzG,sCAAsC;AACtC,+DAAgE;AAChE,yDAAgD;AAChD,2DAA6F;AAYtF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;
|
|
1
|
+
{"version":3,"file":"preference-tree-generator.js","sourceRoot":"","sources":["../../../src/browser/util/preference-tree-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { PreferenceTreeModel } from '../../preference-tree-model';
|
|
2
2
|
import { PreferenceTreeLabelProvider } from '../../util/preference-tree-label-provider';
|
|
3
3
|
import * as markdownit from '@theia/core/shared/markdown-it';
|
|
4
|
+
import { CommandRegistry } from '@theia/core';
|
|
4
5
|
export declare class PreferenceMarkdownRenderer {
|
|
5
6
|
protected readonly model: PreferenceTreeModel;
|
|
6
7
|
protected readonly labelProvider: PreferenceTreeLabelProvider;
|
|
8
|
+
protected readonly commandRegistry: CommandRegistry;
|
|
7
9
|
protected _renderer?: markdownit;
|
|
8
10
|
render(text: string): string;
|
|
9
11
|
renderInline(text: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-markdown-renderer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"preference-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-markdown-renderer.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,qBACa,0BAA0B;IAGnC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAE9C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAEjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIlC,SAAS,CAAC,WAAW,IAAI,UAAU;IAKnC,SAAS,CAAC,qBAAqB,IAAI,UAAU;CAgChD"}
|
|
@@ -21,6 +21,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
21
21
|
const preference_tree_model_1 = require("../../preference-tree-model");
|
|
22
22
|
const preference_tree_label_provider_1 = require("../../util/preference-tree-label-provider");
|
|
23
23
|
const markdownit = require("@theia/core/shared/markdown-it");
|
|
24
|
+
const core_1 = require("@theia/core");
|
|
24
25
|
let PreferenceMarkdownRenderer = class PreferenceMarkdownRenderer {
|
|
25
26
|
render(text) {
|
|
26
27
|
return this.getRenderer().render(text);
|
|
@@ -39,20 +40,26 @@ let PreferenceMarkdownRenderer = class PreferenceMarkdownRenderer {
|
|
|
39
40
|
engine.renderer.rules.code_inline = (tokens, idx, options, env, self) => {
|
|
40
41
|
const token = tokens[idx];
|
|
41
42
|
const content = token.content;
|
|
42
|
-
if (content.startsWith('#') && content.endsWith('#')) {
|
|
43
|
-
const
|
|
44
|
-
|
|
43
|
+
if (content.length > 2 && content.startsWith('#') && content.endsWith('#')) {
|
|
44
|
+
const id = content.substring(1, content.length - 1);
|
|
45
|
+
// First check whether there's a preference with the given ID
|
|
46
|
+
const preferenceNode = this.model.getNodeFromPreferenceId(id);
|
|
45
47
|
if (preferenceNode) {
|
|
46
48
|
let name = this.labelProvider.getName(preferenceNode);
|
|
47
49
|
const prefix = this.labelProvider.getPrefix(preferenceNode, true);
|
|
48
50
|
if (prefix) {
|
|
49
51
|
name = prefix + name;
|
|
50
52
|
}
|
|
51
|
-
return `<a title="${
|
|
53
|
+
return `<a title="${id}" href="preference:${id}">${name}</a>`;
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
// If no preference was found, check whether there's a command with the given ID
|
|
56
|
+
const command = this.commandRegistry.getCommand(id);
|
|
57
|
+
if (command) {
|
|
58
|
+
const name = `${command.category ? `${command.category}: ` : ''}${command.label}`;
|
|
59
|
+
return `<span class="command-link" title="${id}">${name}</span>`;
|
|
55
60
|
}
|
|
61
|
+
// If nothing was found, print a warning
|
|
62
|
+
console.warn(`Linked preference "${id}" not found.`);
|
|
56
63
|
}
|
|
57
64
|
return inlineCode ? inlineCode(tokens, idx, options, env, self) : '';
|
|
58
65
|
};
|
|
@@ -68,6 +75,10 @@ tslib_1.__decorate([
|
|
|
68
75
|
(0, inversify_1.inject)(preference_tree_label_provider_1.PreferenceTreeLabelProvider),
|
|
69
76
|
tslib_1.__metadata("design:type", preference_tree_label_provider_1.PreferenceTreeLabelProvider)
|
|
70
77
|
], PreferenceMarkdownRenderer.prototype, "labelProvider", void 0);
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
80
|
+
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
81
|
+
], PreferenceMarkdownRenderer.prototype, "commandRegistry", void 0);
|
|
71
82
|
exports.PreferenceMarkdownRenderer = PreferenceMarkdownRenderer = tslib_1.__decorate([
|
|
72
83
|
(0, inversify_1.injectable)()
|
|
73
84
|
], PreferenceMarkdownRenderer);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-markdown-renderer.js","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-markdown-renderer.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,4DAAkE;AAClE,uEAAkE;AAClE,8FAAwF;AACxF,6DAA6D;
|
|
1
|
+
{"version":3,"file":"preference-markdown-renderer.js","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-markdown-renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/preferences",
|
|
3
|
-
"version": "1.55.0-next.
|
|
3
|
+
"version": "1.55.0-next.67+8664face6",
|
|
4
4
|
"description": "Theia - Preferences Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.55.0-next.
|
|
7
|
-
"@theia/editor": "1.55.0-next.
|
|
8
|
-
"@theia/filesystem": "1.55.0-next.
|
|
9
|
-
"@theia/monaco": "1.55.0-next.
|
|
6
|
+
"@theia/core": "1.55.0-next.67+8664face6",
|
|
7
|
+
"@theia/editor": "1.55.0-next.67+8664face6",
|
|
8
|
+
"@theia/filesystem": "1.55.0-next.67+8664face6",
|
|
9
|
+
"@theia/monaco": "1.55.0-next.67+8664face6",
|
|
10
10
|
"@theia/monaco-editor-core": "1.83.101",
|
|
11
|
-
"@theia/userstorage": "1.55.0-next.
|
|
12
|
-
"@theia/workspace": "1.55.0-next.
|
|
11
|
+
"@theia/userstorage": "1.55.0-next.67+8664face6",
|
|
12
|
+
"@theia/workspace": "1.55.0-next.67+8664face6",
|
|
13
13
|
"async-mutex": "^0.3.1",
|
|
14
14
|
"fast-deep-equal": "^3.1.3",
|
|
15
15
|
"jsonc-parser": "^2.2.0",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"watch": "theiaext watch"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@theia/ext-scripts": "1.
|
|
53
|
+
"@theia/ext-scripts": "1.55.0"
|
|
54
54
|
},
|
|
55
55
|
"nyc": {
|
|
56
56
|
"extends": "../../configs/nyc.json"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "8664face680c050b8d544a381645259b6821a634"
|
|
59
59
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import '../../src/browser/style/index.css';
|
|
18
18
|
import './preferences-monaco-contribution';
|
|
19
19
|
import { ContainerModule, interfaces } from '@theia/core/shared/inversify';
|
|
20
|
-
import { bindViewContribution, FrontendApplicationContribution, OpenHandler } from '@theia/core/lib/browser';
|
|
20
|
+
import { bindViewContribution, FrontendApplicationContribution, noopWidgetStatusBarContribution, OpenHandler, WidgetStatusBarContribution } from '@theia/core/lib/browser';
|
|
21
21
|
import { TabBarToolbarContribution } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
22
22
|
import { PreferenceTreeGenerator } from './util/preference-tree-generator';
|
|
23
23
|
import { bindPreferenceProviders } from './preference-bindings';
|
|
@@ -33,6 +33,7 @@ import { CliPreferences, CliPreferencesPath } from '../common/cli-preferences';
|
|
|
33
33
|
import { ServiceConnectionProvider } from '@theia/core/lib/browser/messaging/service-connection-provider';
|
|
34
34
|
import { PreferenceFrontendContribution } from './preference-frontend-contribution';
|
|
35
35
|
import { PreferenceLayoutProvider } from './util/preference-layout';
|
|
36
|
+
import { PreferencesWidget } from './views/preference-widget';
|
|
36
37
|
|
|
37
38
|
export function bindPreferences(bind: interfaces.Bind, unbind: interfaces.Unbind): void {
|
|
38
39
|
bindPreferenceProviders(bind, unbind);
|
|
@@ -59,6 +60,8 @@ export function bindPreferences(bind: interfaces.Bind, unbind: interfaces.Unbind
|
|
|
59
60
|
bind(CliPreferences).toDynamicValue(ctx => ServiceConnectionProvider.createProxy<CliPreferences>(ctx.container, CliPreferencesPath)).inSingletonScope();
|
|
60
61
|
bind(PreferenceFrontendContribution).toSelf().inSingletonScope();
|
|
61
62
|
bind(FrontendApplicationContribution).toService(PreferenceFrontendContribution);
|
|
63
|
+
|
|
64
|
+
bind(WidgetStatusBarContribution).toConstantValue(noopWidgetStatusBarContribution(PreferencesWidget));
|
|
62
65
|
}
|
|
63
66
|
|
|
64
67
|
export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
|
@@ -39,6 +39,7 @@ export class PreferenceTreeGenerator {
|
|
|
39
39
|
@inject(PreferenceLayoutProvider) protected readonly layoutProvider: PreferenceLayoutProvider;
|
|
40
40
|
|
|
41
41
|
protected _root: CompositeTreeNode;
|
|
42
|
+
protected _idCache = new Map<string, string>();
|
|
42
43
|
|
|
43
44
|
protected readonly onSchemaChangedEmitter = new Emitter<CompositeTreeNode>();
|
|
44
45
|
readonly onSchemaChanged = this.onSchemaChangedEmitter.event;
|
|
@@ -60,6 +61,7 @@ export class PreferenceTreeGenerator {
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
generateTree(): CompositeTreeNode {
|
|
64
|
+
this._idCache.clear();
|
|
63
65
|
const preferencesSchema = this.schemaProvider.getCombinedSchema();
|
|
64
66
|
const propertyNames = Object.keys(preferencesSchema.properties);
|
|
65
67
|
const groups = new Map<string, Preference.CompositeTreeNode>();
|
|
@@ -121,7 +123,7 @@ export class PreferenceTreeGenerator {
|
|
|
121
123
|
|
|
122
124
|
protected createBuiltinLeafNode(name: string, property: PreferenceDataProperty, root: CompositeTreeNode, groups: Map<string, Preference.CompositeTreeNode>): void {
|
|
123
125
|
const layoutItem = this.layoutProvider.getLayoutForPreference(name);
|
|
124
|
-
const labels = layoutItem
|
|
126
|
+
const labels = (layoutItem?.id ?? name).split('.');
|
|
125
127
|
const groupID = this.getGroupName(labels);
|
|
126
128
|
const subgroupName = this.getSubgroupName(labels, groupID);
|
|
127
129
|
const subgroupID = [groupID, subgroupName].join('.');
|
|
@@ -129,14 +131,15 @@ export class PreferenceTreeGenerator {
|
|
|
129
131
|
id: groupID,
|
|
130
132
|
group: groupID,
|
|
131
133
|
root,
|
|
132
|
-
groups
|
|
134
|
+
groups,
|
|
135
|
+
label: this.generateName(groupID)
|
|
133
136
|
});
|
|
134
137
|
const immediateParent = subgroupName ? this.getOrCreatePreferencesGroup({
|
|
135
138
|
id: subgroupID,
|
|
136
139
|
group: groupID,
|
|
137
140
|
root: toplevelParent,
|
|
138
141
|
groups,
|
|
139
|
-
label: layoutItem?.label
|
|
142
|
+
label: layoutItem?.label ?? this.generateName(subgroupName)
|
|
140
143
|
}) : undefined;
|
|
141
144
|
this.createLeafNode(name, immediateParent || toplevelParent, property);
|
|
142
145
|
}
|
|
@@ -177,9 +180,7 @@ export class PreferenceTreeGenerator {
|
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
getNodeId(preferenceId: string): string {
|
|
180
|
-
|
|
181
|
-
const expectedId = `${expectedGroup}@${preferenceId}`;
|
|
182
|
-
return expectedId;
|
|
183
|
+
return this._idCache.get(preferenceId) ?? '';
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
protected getGroupName(labels: string[]): string {
|
|
@@ -200,6 +201,10 @@ export class PreferenceTreeGenerator {
|
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
203
|
|
|
204
|
+
protected generateName(id: string): string {
|
|
205
|
+
return id.substring(0, 1).toUpperCase() + id.substring(1);
|
|
206
|
+
}
|
|
207
|
+
|
|
203
208
|
doHandleChangedSchema(): void {
|
|
204
209
|
const newTree = this.generateTree();
|
|
205
210
|
this.onSchemaChangedEmitter.fire(newTree);
|
|
@@ -226,6 +231,7 @@ export class PreferenceTreeGenerator {
|
|
|
226
231
|
preference: { data },
|
|
227
232
|
depth: Preference.TreeNode.isTopLevel(preferencesGroup) ? 1 : 2
|
|
228
233
|
};
|
|
234
|
+
this._idCache.set(property, newNode.id);
|
|
229
235
|
CompositeTreeNode.addChild(preferencesGroup, newNode);
|
|
230
236
|
return newNode;
|
|
231
237
|
}
|
|
@@ -18,12 +18,17 @@ import { inject, injectable } from '@theia/core/shared/inversify';
|
|
|
18
18
|
import { PreferenceTreeModel } from '../../preference-tree-model';
|
|
19
19
|
import { PreferenceTreeLabelProvider } from '../../util/preference-tree-label-provider';
|
|
20
20
|
import * as markdownit from '@theia/core/shared/markdown-it';
|
|
21
|
+
import { CommandRegistry } from '@theia/core';
|
|
21
22
|
|
|
22
23
|
@injectable()
|
|
23
24
|
export class PreferenceMarkdownRenderer {
|
|
24
25
|
|
|
25
|
-
@inject(PreferenceTreeModel)
|
|
26
|
-
|
|
26
|
+
@inject(PreferenceTreeModel)
|
|
27
|
+
protected readonly model: PreferenceTreeModel;
|
|
28
|
+
@inject(PreferenceTreeLabelProvider)
|
|
29
|
+
protected readonly labelProvider: PreferenceTreeLabelProvider;
|
|
30
|
+
@inject(CommandRegistry)
|
|
31
|
+
protected readonly commandRegistry: CommandRegistry;
|
|
27
32
|
|
|
28
33
|
protected _renderer?: markdownit;
|
|
29
34
|
|
|
@@ -47,19 +52,26 @@ export class PreferenceMarkdownRenderer {
|
|
|
47
52
|
engine.renderer.rules.code_inline = (tokens, idx, options, env, self) => {
|
|
48
53
|
const token = tokens[idx];
|
|
49
54
|
const content = token.content;
|
|
50
|
-
if (content.startsWith('#') && content.endsWith('#')) {
|
|
51
|
-
const
|
|
52
|
-
|
|
55
|
+
if (content.length > 2 && content.startsWith('#') && content.endsWith('#')) {
|
|
56
|
+
const id = content.substring(1, content.length - 1);
|
|
57
|
+
// First check whether there's a preference with the given ID
|
|
58
|
+
const preferenceNode = this.model.getNodeFromPreferenceId(id);
|
|
53
59
|
if (preferenceNode) {
|
|
54
60
|
let name = this.labelProvider.getName(preferenceNode);
|
|
55
61
|
const prefix = this.labelProvider.getPrefix(preferenceNode, true);
|
|
56
62
|
if (prefix) {
|
|
57
63
|
name = prefix + name;
|
|
58
64
|
}
|
|
59
|
-
return `<a title="${
|
|
60
|
-
} else {
|
|
61
|
-
console.warn(`Linked preference "${preferenceId}" not found.`);
|
|
65
|
+
return `<a title="${id}" href="preference:${id}">${name}</a>`;
|
|
62
66
|
}
|
|
67
|
+
// If no preference was found, check whether there's a command with the given ID
|
|
68
|
+
const command = this.commandRegistry.getCommand(id);
|
|
69
|
+
if (command) {
|
|
70
|
+
const name = `${command.category ? `${command.category}: ` : ''}${command.label}`;
|
|
71
|
+
return `<span class="command-link" title="${id}">${name}</span>`;
|
|
72
|
+
}
|
|
73
|
+
// If nothing was found, print a warning
|
|
74
|
+
console.warn(`Linked preference "${id}" not found.`);
|
|
63
75
|
}
|
|
64
76
|
return inlineCode ? inlineCode(tokens, idx, options, env, self) : '';
|
|
65
77
|
};
|