@theia/preferences 1.55.0-next.37 → 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.
@@ -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;IAEnC,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;IA4DjC,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;IAsBjK,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;IAMvC,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,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;IAa7I,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"}
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.split('.') : name.split('.');
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
- const expectedGroup = this.getGroupName(preferenceId.split('.'));
161
- const expectedId = `${expectedGroup}@${preferenceId}`;
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":"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"}
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;AAE7D,qBACa,0BAA0B;IAEN,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAEnG,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;CAyBhD"}
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 preferenceId = content.substring(1, content.length - 1);
44
- const preferenceNode = this.model.getNodeFromPreferenceId(preferenceId);
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="${preferenceId}" href="preference:${preferenceId}">${name}</a>`;
53
+ return `<a title="${id}" href="preference:${id}">${name}</a>`;
52
54
  }
53
- else {
54
- console.warn(`Linked preference "${preferenceId}" not found.`);
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;AAGtD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAOnC,MAAM,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAES,WAAW;;QACjB,MAAA,IAAI,CAAC,SAAS,oCAAd,IAAI,CAAC,SAAS,GAAK,IAAI,CAAC,qBAAqB,EAAE,EAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAES,qBAAqB;QAC3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;QAErD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACpE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBACxE,IAAI,cAAc,EAAE,CAAC;oBACjB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;oBAClE,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;oBACzB,CAAC;oBACD,OAAO,aAAa,YAAY,sBAAsB,YAAY,KAAK,IAAI,MAAM,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,sBAAsB,YAAY,cAAc,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;YACD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AA7CY,gEAA0B;AAEa;IAA/C,IAAA,kBAAM,EAAC,2CAAmB,CAAC;sCAA2B,2CAAmB;yDAAC;AACnB;IAAvD,IAAA,kBAAM,EAAC,4DAA2B,CAAC;sCAAmC,4DAA2B;iEAAC;qCAH1F,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CA6CtC"}
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.37+4e7843ca5",
3
+ "version": "1.55.0-next.67+8664face6",
4
4
  "description": "Theia - Preferences Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.55.0-next.37+4e7843ca5",
7
- "@theia/editor": "1.55.0-next.37+4e7843ca5",
8
- "@theia/filesystem": "1.55.0-next.37+4e7843ca5",
9
- "@theia/monaco": "1.55.0-next.37+4e7843ca5",
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.37+4e7843ca5",
12
- "@theia/workspace": "1.55.0-next.37+4e7843ca5",
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.54.0"
53
+ "@theia/ext-scripts": "1.55.0"
54
54
  },
55
55
  "nyc": {
56
56
  "extends": "../../configs/nyc.json"
57
57
  },
58
- "gitHead": "4e7843ca5ce4625e3b4823b9a87debd805906fba"
58
+ "gitHead": "8664face680c050b8d544a381645259b6821a634"
59
59
  }
@@ -234,6 +234,10 @@
234
234
  text-decoration: none;
235
235
  }
236
236
 
237
+ .theia-settings-container .command-link {
238
+ color: var(--theia-textLink-foreground);
239
+ }
240
+
237
241
  .theia-settings-container .settings-section a:hover {
238
242
  text-decoration: underline;
239
243
  }
@@ -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 ? layoutItem.id.split('.') : name.split('.');
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
- const expectedGroup = this.getGroupName(preferenceId.split('.'));
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) protected readonly model: PreferenceTreeModel;
26
- @inject(PreferenceTreeLabelProvider) protected readonly labelProvider: PreferenceTreeLabelProvider;
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 preferenceId = content.substring(1, content.length - 1);
52
- const preferenceNode = this.model.getNodeFromPreferenceId(preferenceId);
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="${preferenceId}" href="preference:${preferenceId}">${name}</a>`;
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
  };