@theia/preferences 1.22.0-next.3 → 1.22.0-next.7

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.
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  /// <reference types="lodash" />
17
- import { PreferenceService, ContextMenuRenderer, PreferenceInspection, PreferenceScope, MarkdownRenderer } from '@theia/core/lib/browser';
17
+ import { PreferenceService, ContextMenuRenderer, PreferenceInspection, PreferenceScope } from '@theia/core/lib/browser';
18
18
  import { Preference } from '../../util/preference-types';
19
19
  import { PreferenceTreeLabelProvider } from '../../util/preference-tree-label-provider';
20
20
  import { PreferencesScopeTabBar } from '../preference-scope-tabbar-widget';
@@ -23,6 +23,7 @@ import { JSONValue } from '@theia/core/shared/@phosphor/coreutils';
23
23
  import { PreferenceTreeModel } from '../../preference-tree-model';
24
24
  import { PreferencesSearchbarWidget } from '../preference-searchbar-widget';
25
25
  import { WindowService } from '@theia/core/lib/browser/window/window-service';
26
+ import * as markdownit from 'markdown-it';
26
27
  export declare const PreferenceNodeRendererFactory: unique symbol;
27
28
  export declare type PreferenceNodeRendererFactory = (node: Preference.TreeNode) => PreferenceNodeRenderer;
28
29
  export declare const HEADER_CLASS = "settings-section-category-title";
@@ -83,13 +84,12 @@ export declare abstract class PreferenceLeafNodeRenderer<ValueType extends JSONV
83
84
  protected interactable: InteractableType;
84
85
  protected inspection: PreferenceInspection<ValueType> | undefined;
85
86
  protected isModifiedFromDefault: boolean;
86
- protected markdownRenderer: MarkdownRenderer;
87
+ protected markdownRenderer: markdownit;
87
88
  protected init(): void;
88
89
  protected updateInspection(): void;
89
- protected buildMarkdownRenderer(): MarkdownRenderer;
90
- protected setClickListener(element: HTMLElement, callback: (event: MouseEvent) => void): void;
91
- protected openLink(event: MouseEvent, href: string): void;
92
- protected selectPreference(event: MouseEvent, preferenceId: string): Promise<void>;
90
+ protected buildMarkdownRenderer(): markdownit;
91
+ protected openLink(event: MouseEvent): void;
92
+ protected selectPreference(preferenceId: string): Promise<void>;
93
93
  protected createDomNode(): HTMLLIElement;
94
94
  protected handleCogAction({ currentTarget }: KeyboardEvent | MouseEvent): void;
95
95
  protected addModifiedMarking(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-node-renderer.d.ts","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-node-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-node-renderer.d.ts","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-node-renderer.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,9 @@ const debounce = require("@theia/core/shared/lodash.debounce");
35
35
  const preference_tree_model_1 = require("../../preference-tree-model");
36
36
  const preference_searchbar_widget_1 = require("../preference-searchbar-widget");
37
37
  const window_service_1 = require("@theia/core/lib/browser/window/window-service");
38
+ const markdownit = require("markdown-it");
39
+ const DOMPurify = require("@theia/core/shared/dompurify");
40
+ const uri_1 = require("@theia/core/lib/common/uri");
38
41
  exports.PreferenceNodeRendererFactory = Symbol('PreferenceNodeRendererFactory');
39
42
  exports.HEADER_CLASS = 'settings-section-category-title';
40
43
  exports.SUBHEADER_CLASS = 'settings-section-subcategory-title';
@@ -143,18 +146,13 @@ let PreferenceLeafNodeRenderer = class PreferenceLeafNodeRenderer extends Prefer
143
146
  this.inspection = this.preferenceService.inspect(this.id, this.scopeTracker.currentScope.uri);
144
147
  }
145
148
  buildMarkdownRenderer() {
146
- return new browser_1.MarkdownRenderer()
147
- .modify('a', link => {
148
- const href = link.href;
149
- link.href = '#';
150
- link.title = href;
151
- this.setClickListener(link, e => this.openLink(e, href));
152
- })
153
- .modify('code', code => {
154
- const innerText = code.innerText;
155
- // Linked preferences always start and end with `#`
156
- if (innerText.startsWith('#') && innerText.endsWith('#')) {
157
- const preferenceId = innerText.substring(1, innerText.length - 1);
149
+ const engine = markdownit();
150
+ const inlineCode = engine.renderer.rules.code_inline;
151
+ engine.renderer.rules.code_inline = (tokens, idx, options, env, self) => {
152
+ const token = tokens[idx];
153
+ const content = token.content;
154
+ if (content.startsWith('#') && content.endsWith('#')) {
155
+ const preferenceId = content.substring(1, content.length - 1);
158
156
  const preferenceNode = this.model.getNodeFromPreferenceId(preferenceId);
159
157
  if (preferenceNode) {
160
158
  let name = this.labelProvider.getName(preferenceNode);
@@ -162,53 +160,44 @@ let PreferenceLeafNodeRenderer = class PreferenceLeafNodeRenderer extends Prefer
162
160
  if (prefix) {
163
161
  name = prefix + name;
164
162
  }
165
- const link = document.createElement('a');
166
- this.setClickListener(link, e => this.selectPreference(e, preferenceId));
167
- link.innerText = name;
168
- link.title = `#${preferenceId}`;
169
- link.href = '#';
170
- return link;
163
+ return `<a title="${preferenceId}" href="preference:${preferenceId}">${name}</a>`;
171
164
  }
172
165
  else {
173
166
  console.warn(`Linked preference "${preferenceId}" not found. Source: "${this.preferenceNode.preferenceId}"`);
174
167
  }
175
168
  }
176
- return code;
177
- });
178
- }
179
- setClickListener(element, callback) {
180
- // onclick only handles left button clicks
181
- // onauxclick handles all other cases
182
- element.onclick = callback;
183
- element.onauxclick = callback;
184
- // Disables showing a context menu when right clicking
185
- element.oncontextmenu = () => false;
186
- }
187
- openLink(event, href) {
188
- event.preventDefault();
189
- event.stopPropagation();
190
- // Exclude right click
191
- if (event.button < 2) {
192
- // Opens link in external browser
193
- this.windowService.openNewWindow(href, { external: true });
169
+ return inlineCode ? inlineCode(tokens, idx, options, env, self) : '';
170
+ };
171
+ return engine;
172
+ }
173
+ openLink(event) {
174
+ if (event.target instanceof HTMLAnchorElement) {
175
+ event.preventDefault();
176
+ event.stopPropagation();
177
+ // Exclude right click
178
+ if (event.button < 2) {
179
+ const uri = new uri_1.default(event.target.href);
180
+ if (uri.scheme === 'preference') {
181
+ this.selectPreference(uri.path.toString());
182
+ }
183
+ else {
184
+ // Opens link in external browser
185
+ this.windowService.openNewWindow(event.target.href, { external: true });
186
+ }
187
+ }
194
188
  }
195
189
  }
196
- async selectPreference(event, preferenceId) {
197
- event.preventDefault();
198
- event.stopPropagation();
199
- // Exclude right click
200
- if (event.button < 2) {
201
- // Selects the rendered html preference node that does not belong to the commonly used group
202
- const selector = `li[data-pref-id="${preferenceId}"]:not([data-node-id^="commonly-used@"])`;
203
- const element = document.querySelector(selector);
204
- if (element) {
205
- if (element.classList.contains('hidden')) {
206
- // We clear the search term as we have clicked on a hidden preference
207
- await this.searchbar.updateSearchTerm('');
208
- await browser_1.animationFrame();
209
- }
210
- element.scrollIntoView();
190
+ async selectPreference(preferenceId) {
191
+ // Selects the rendered html preference node that does not belong to the commonly used group
192
+ const selector = `li[data-pref-id="${preferenceId}"]:not([data-node-id^="commonly-used@"])`;
193
+ const element = document.querySelector(selector);
194
+ if (element) {
195
+ if (element.classList.contains('hidden')) {
196
+ // We clear the search term as we have clicked on a hidden preference
197
+ await this.searchbar.updateSearchTerm('');
198
+ await browser_1.animationFrame();
211
199
  }
200
+ element.scrollIntoView();
212
201
  }
213
202
  }
214
203
  createDomNode() {
@@ -245,7 +234,12 @@ let PreferenceLeafNodeRenderer = class PreferenceLeafNodeRenderer extends Prefer
245
234
  descriptionWrapper.classList.add('pref-description');
246
235
  if (markdownDescription) {
247
236
  const renderedDescription = this.markdownRenderer.renderInline(markdownDescription);
248
- descriptionWrapper.appendChild(renderedDescription);
237
+ descriptionWrapper.onauxclick = this.openLink.bind(this);
238
+ descriptionWrapper.onclick = this.openLink.bind(this);
239
+ descriptionWrapper.oncontextmenu = () => false;
240
+ descriptionWrapper.innerHTML = DOMPurify.sanitize(renderedDescription, {
241
+ ALLOW_UNKNOWN_PROTOCOLS: true
242
+ });
249
243
  }
250
244
  else if (description) {
251
245
  descriptionWrapper.textContent = description;
@@ -1 +1 @@
1
- {"version":3,"file":"preference-node-renderer.js","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-node-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-node-renderer.js","sourceRoot":"","sources":["../../../../src/browser/views/components/preference-node-renderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@theia/preferences",
3
- "version": "1.22.0-next.3+a59118db63d",
3
+ "version": "1.22.0-next.7+ff1121f7f2b",
4
4
  "description": "Theia - Preferences Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.22.0-next.3+a59118db63d",
7
- "@theia/editor": "1.22.0-next.3+a59118db63d",
8
- "@theia/filesystem": "1.22.0-next.3+a59118db63d",
9
- "@theia/monaco": "1.22.0-next.3+a59118db63d",
10
- "@theia/userstorage": "1.22.0-next.3+a59118db63d",
11
- "@theia/workspace": "1.22.0-next.3+a59118db63d",
6
+ "@theia/core": "1.22.0-next.7+ff1121f7f2b",
7
+ "@theia/editor": "1.22.0-next.7+ff1121f7f2b",
8
+ "@theia/filesystem": "1.22.0-next.7+ff1121f7f2b",
9
+ "@theia/monaco": "1.22.0-next.7+ff1121f7f2b",
10
+ "@theia/userstorage": "1.22.0-next.7+ff1121f7f2b",
11
+ "@theia/workspace": "1.22.0-next.7+ff1121f7f2b",
12
12
  "async-mutex": "^0.3.1",
13
- "jsonc-parser": "^2.2.0"
13
+ "jsonc-parser": "^2.2.0",
14
+ "markdown-it": "^8.4.0"
14
15
  },
15
16
  "publishConfig": {
16
17
  "access": "public"
@@ -50,5 +51,5 @@
50
51
  "nyc": {
51
52
  "extends": "../../configs/nyc.json"
52
53
  },
53
- "gitHead": "a59118db63d9de9765b4e5ce6264f9eb1bd6904e"
54
+ "gitHead": "ff1121f7f2b42324ded29d8ef70838cb0941083d"
54
55
  }
@@ -17,7 +17,7 @@
17
17
  import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
18
18
  import {
19
19
  PreferenceService, ContextMenuRenderer, PreferenceInspection,
20
- PreferenceScope, PreferenceProvider, MarkdownRenderer, codicon, animationFrame
20
+ PreferenceScope, PreferenceProvider, codicon, animationFrame
21
21
  } from '@theia/core/lib/browser';
22
22
  import { Preference, PreferenceMenus } from '../../util/preference-types';
23
23
  import { PreferenceTreeLabelProvider } from '../../util/preference-tree-label-provider';
@@ -28,6 +28,9 @@ import debounce = require('@theia/core/shared/lodash.debounce');
28
28
  import { PreferenceTreeModel } from '../../preference-tree-model';
29
29
  import { PreferencesSearchbarWidget } from '../preference-searchbar-widget';
30
30
  import { WindowService } from '@theia/core/lib/browser/window/window-service';
31
+ import * as markdownit from 'markdown-it';
32
+ import * as DOMPurify from '@theia/core/shared/dompurify';
33
+ import URI from '@theia/core/lib/common/uri';
31
34
 
32
35
  export const PreferenceNodeRendererFactory = Symbol('PreferenceNodeRendererFactory');
33
36
  export type PreferenceNodeRendererFactory = (node: Preference.TreeNode) => PreferenceNodeRenderer;
@@ -162,7 +165,7 @@ export abstract class PreferenceLeafNodeRenderer<ValueType extends JSONValue, In
162
165
  protected interactable: InteractableType;
163
166
  protected inspection: PreferenceInspection<ValueType> | undefined;
164
167
  protected isModifiedFromDefault = false;
165
- protected markdownRenderer: MarkdownRenderer;
168
+ protected markdownRenderer: markdownit;
166
169
 
167
170
  @postConstruct()
168
171
  protected init(): void {
@@ -177,75 +180,60 @@ export abstract class PreferenceLeafNodeRenderer<ValueType extends JSONValue, In
177
180
  this.inspection = this.preferenceService.inspect<ValueType>(this.id, this.scopeTracker.currentScope.uri);
178
181
  }
179
182
 
180
- protected buildMarkdownRenderer(): MarkdownRenderer {
181
- return new MarkdownRenderer()
182
- .modify('a', link => {
183
- const href = link.href;
184
- link.href = '#';
185
- link.title = href;
186
- this.setClickListener(link, e => this.openLink(e, href));
187
- })
188
- .modify('code', code => {
189
- const innerText = code.innerText;
190
- // Linked preferences always start and end with `#`
191
- if (innerText.startsWith('#') && innerText.endsWith('#')) {
192
- const preferenceId = innerText.substring(1, innerText.length - 1);
193
- const preferenceNode = this.model.getNodeFromPreferenceId(preferenceId);
194
- if (preferenceNode) {
195
- let name = this.labelProvider.getName(preferenceNode);
196
- const prefix = this.labelProvider.getPrefix(preferenceNode, true);
197
- if (prefix) {
198
- name = prefix + name;
199
- }
200
- const link = document.createElement('a');
201
- this.setClickListener(link, e => this.selectPreference(e, preferenceId));
202
- link.innerText = name;
203
- link.title = `#${preferenceId}`;
204
- link.href = '#';
205
- return link;
206
- } else {
207
- console.warn(`Linked preference "${preferenceId}" not found. Source: "${this.preferenceNode.preferenceId}"`);
183
+ protected buildMarkdownRenderer(): markdownit {
184
+ const engine = markdownit();
185
+ const inlineCode = engine.renderer.rules.code_inline;
186
+
187
+ engine.renderer.rules.code_inline = (tokens, idx, options, env, self) => {
188
+ const token = tokens[idx];
189
+ const content = token.content;
190
+ if (content.startsWith('#') && content.endsWith('#')) {
191
+ const preferenceId = content.substring(1, content.length - 1);
192
+ const preferenceNode = this.model.getNodeFromPreferenceId(preferenceId);
193
+ if (preferenceNode) {
194
+ let name = this.labelProvider.getName(preferenceNode);
195
+ const prefix = this.labelProvider.getPrefix(preferenceNode, true);
196
+ if (prefix) {
197
+ name = prefix + name;
208
198
  }
199
+ return `<a title="${preferenceId}" href="preference:${preferenceId}">${name}</a>`;
200
+ } else {
201
+ console.warn(`Linked preference "${preferenceId}" not found. Source: "${this.preferenceNode.preferenceId}"`);
209
202
  }
210
- return code;
211
- });
212
- }
213
-
214
- protected setClickListener(element: HTMLElement, callback: (event: MouseEvent) => void): void {
215
- // onclick only handles left button clicks
216
- // onauxclick handles all other cases
217
- element.onclick = callback;
218
- element.onauxclick = callback;
219
- // Disables showing a context menu when right clicking
220
- element.oncontextmenu = () => false;
221
- }
222
-
223
- protected openLink(event: MouseEvent, href: string): void {
224
- event.preventDefault();
225
- event.stopPropagation();
226
- // Exclude right click
227
- if (event.button < 2) {
228
- // Opens link in external browser
229
- this.windowService.openNewWindow(href, { external: true });
203
+ }
204
+ return inlineCode ? inlineCode(tokens, idx, options, env, self) : '';
205
+ };
206
+ return engine;
207
+ }
208
+
209
+ protected openLink(event: MouseEvent): void {
210
+ if (event.target instanceof HTMLAnchorElement) {
211
+ event.preventDefault();
212
+ event.stopPropagation();
213
+ // Exclude right click
214
+ if (event.button < 2) {
215
+ const uri = new URI(event.target.href);
216
+ if (uri.scheme === 'preference') {
217
+ this.selectPreference(uri.path.toString());
218
+ } else {
219
+ // Opens link in external browser
220
+ this.windowService.openNewWindow(event.target.href, { external: true });
221
+ }
222
+ }
230
223
  }
231
224
  }
232
225
 
233
- protected async selectPreference(event: MouseEvent, preferenceId: string): Promise<void> {
234
- event.preventDefault();
235
- event.stopPropagation();
236
- // Exclude right click
237
- if (event.button < 2) {
238
- // Selects the rendered html preference node that does not belong to the commonly used group
239
- const selector = `li[data-pref-id="${preferenceId}"]:not([data-node-id^="commonly-used@"])`;
240
- const element = document.querySelector(selector);
241
- if (element) {
242
- if (element.classList.contains('hidden')) {
243
- // We clear the search term as we have clicked on a hidden preference
244
- await this.searchbar.updateSearchTerm('');
245
- await animationFrame();
246
- }
247
- element.scrollIntoView();
226
+ protected async selectPreference(preferenceId: string): Promise<void> {
227
+ // Selects the rendered html preference node that does not belong to the commonly used group
228
+ const selector = `li[data-pref-id="${preferenceId}"]:not([data-node-id^="commonly-used@"])`;
229
+ const element = document.querySelector(selector);
230
+ if (element) {
231
+ if (element.classList.contains('hidden')) {
232
+ // We clear the search term as we have clicked on a hidden preference
233
+ await this.searchbar.updateSearchTerm('');
234
+ await animationFrame();
248
235
  }
236
+ element.scrollIntoView();
249
237
  }
250
238
  }
251
239
 
@@ -289,7 +277,12 @@ export abstract class PreferenceLeafNodeRenderer<ValueType extends JSONValue, In
289
277
  descriptionWrapper.classList.add('pref-description');
290
278
  if (markdownDescription) {
291
279
  const renderedDescription = this.markdownRenderer.renderInline(markdownDescription);
292
- descriptionWrapper.appendChild(renderedDescription);
280
+ descriptionWrapper.onauxclick = this.openLink.bind(this);
281
+ descriptionWrapper.onclick = this.openLink.bind(this);
282
+ descriptionWrapper.oncontextmenu = () => false;
283
+ descriptionWrapper.innerHTML = DOMPurify.sanitize(renderedDescription, {
284
+ ALLOW_UNKNOWN_PROTOCOLS: true
285
+ });
293
286
  } else if (description) {
294
287
  descriptionWrapper.textContent = description;
295
288
  }