@theia/core 1.72.0-next.46 → 1.72.0-next.50
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/decorations-service.d.ts.map +1 -1
- package/lib/browser/decorations-service.js +0 -4
- package/lib/browser/decorations-service.js.map +1 -1
- package/lib/browser/hover-service.d.ts +2 -0
- package/lib/browser/hover-service.d.ts.map +1 -1
- package/lib/browser/hover-service.js +7 -0
- package/lib/browser/hover-service.js.map +1 -1
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/markdown-rendering/markdown-link-handler.d.ts +15 -0
- package/lib/browser/markdown-rendering/markdown-link-handler.d.ts.map +1 -0
- package/lib/browser/markdown-rendering/markdown-link-handler.js +60 -0
- package/lib/browser/markdown-rendering/markdown-link-handler.js.map +1 -0
- package/lib/common/markdown-rendering/markdown-string.d.ts +6 -0
- package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
- package/lib/common/markdown-rendering/markdown-string.js +10 -0
- package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
- package/package.json +4 -4
- package/src/browser/decorations-service.ts +0 -4
- package/src/browser/hover-service.ts +5 -0
- package/src/browser/index.ts +1 -0
- package/src/browser/markdown-rendering/markdown-link-handler.ts +61 -0
- package/src/common/markdown-rendering/markdown-string.ts +10 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorations-service.d.ts","sourceRoot":"","sources":["../../src/browser/decorations-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAA2B,UAAU,EAAW,KAAK,EAAE,MAAM,WAAW,CAAC;AAEnG,OAAO,GAAG,MAAM,eAAe,CAAC;AAQhC,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACpH;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC1C,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;CACtC;AACD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAE/B,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhE,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAEvE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;CACnE;
|
|
1
|
+
{"version":3,"file":"decorations-service.d.ts","sourceRoot":"","sources":["../../src/browser/decorations-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAA2B,UAAU,EAAW,KAAK,EAAE,MAAM,WAAW,CAAC;AAEnG,OAAO,GAAG,MAAM,eAAe,CAAC;AAQhC,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACpH;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC1C,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;CACtC;AACD,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,WAAW,kBAAkB;IAE/B,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhE,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAEvE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,UAAU,EAAE,CAAC;CACnE;AAqHD,qBACa,sBAAuB,YAAW,kBAAkB;IAE7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAA0C;IAExF,QAAQ,CAAC,sBAAsB,iCAA4C;IAE3E,OAAO,IAAI,IAAI;IAIf,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,UAAU;IActE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,GAAG,UAAU,EAAE;CAalE"}
|
|
@@ -101,10 +101,6 @@ class DecorationProviderWrapper {
|
|
|
101
101
|
const request = new DecorationDataRequest(source, Promise.resolve(dataOrThenable).then(data => {
|
|
102
102
|
if (this.data.get(uri) === request) {
|
|
103
103
|
this.keepItem(uri, data);
|
|
104
|
-
// Notify subscribers that a lazily-fetched decoration is now
|
|
105
|
-
// available so renderers can re-query. Without this, decorations
|
|
106
|
-
// dropped by event truncation never reach the UI.
|
|
107
|
-
this.onDidChangeDecorationsEmitter.fire(this.decorations);
|
|
108
104
|
}
|
|
109
105
|
}).catch(err => {
|
|
110
106
|
if (!(err instanceof Error && err.name === 'Canceled' && err.message === 'Canceled') && this.data.get(uri) === request) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorations-service.js","sourceRoot":"","sources":["../../src/browser/decorations-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"decorations-service.js","sourceRoot":"","sources":["../../src/browser/decorations-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Disposable, DisposableCollection, PreferenceService } from '../common';
|
|
2
2
|
import { MarkdownString } from '../common/markdown-rendering/markdown-string';
|
|
3
3
|
import { MarkdownRenderer } from './markdown-rendering/markdown-renderer';
|
|
4
|
+
import { OpenerService } from './opener-service';
|
|
4
5
|
import '../../src/browser/style/hover-service.css';
|
|
5
6
|
export type HoverPosition = 'left' | 'right' | 'top' | 'bottom';
|
|
6
7
|
export declare namespace HoverPosition {
|
|
@@ -46,6 +47,7 @@ export declare class HoverService {
|
|
|
46
47
|
protected static styleSheetId: string;
|
|
47
48
|
protected readonly preferences: PreferenceService;
|
|
48
49
|
protected readonly markdownRenderer: MarkdownRenderer;
|
|
50
|
+
protected readonly openerService: OpenerService;
|
|
49
51
|
protected _hoverHost: HTMLElement | undefined;
|
|
50
52
|
protected get hoverHost(): HTMLElement;
|
|
51
53
|
protected pendingTimeout: Disposable | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-service.d.ts","sourceRoot":"","sources":["../../src/browser/hover-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAA4B,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"hover-service.d.ts","sourceRoot":"","sources":["../../src/browser/hover-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAA4B,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAG9E,OAAO,EAAwB,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,2CAA2C,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMhE,yBAAiB,aAAa,CAAC;IAC3B,SAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAmBjJ;CACJ;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,CAAA;IAC9C,MAAM,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,QAAQ,EAAE,aAAa,CAAA;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC3D;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBACa,YAAY;IACrB,SAAS,CAAC,MAAM,CAAC,aAAa,SAAiB;IAC/C,SAAS,CAAC,MAAM,CAAC,YAAY,SAAuB;IACzB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAI/C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE7D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEvE,SAAS,CAAC,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,SAAS,KAAK,SAAS,IAAI,WAAW,CAQrC;IACD,SAAS,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,YAAY,SAAc;IACpC,SAAS,CAAC,QAAQ,CAAC,aAAa,uBAA8B;IAE9D,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IASzC,SAAS,CAAC,aAAa,IAAI,MAAM;cAMjB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAiEjE,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa;IAmCzG,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAkBnC,WAAW,IAAI,IAAI;IAOnB;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAa1D,SAAS,CAAC,aAAa,IAAI,IAAI;CAOlC"}
|
|
@@ -21,7 +21,9 @@ const tslib_1 = require("tslib");
|
|
|
21
21
|
const inversify_1 = require("inversify");
|
|
22
22
|
const common_1 = require("../common");
|
|
23
23
|
const browser_1 = require("./browser");
|
|
24
|
+
const markdown_link_handler_1 = require("./markdown-rendering/markdown-link-handler");
|
|
24
25
|
const markdown_renderer_1 = require("./markdown-rendering/markdown-renderer");
|
|
26
|
+
const opener_service_1 = require("./opener-service");
|
|
25
27
|
require("../../src/browser/style/hover-service.css");
|
|
26
28
|
// Threshold, in milliseconds, over which a mouse movement is not considered
|
|
27
29
|
// quick enough as to be ignored
|
|
@@ -105,6 +107,7 @@ let HoverService = class HoverService {
|
|
|
105
107
|
this.disposeOnHide.push(renderedContent);
|
|
106
108
|
host.appendChild(renderedContent.element);
|
|
107
109
|
firstChild = renderedContent.element;
|
|
110
|
+
this.disposeOnHide.push((0, markdown_link_handler_1.wireMarkdownLinkHandler)(renderedContent.element, content, this.openerService));
|
|
108
111
|
}
|
|
109
112
|
// browsers might insert linebreaks when the hover appears at the edge of the window
|
|
110
113
|
// resetting the position prevents that
|
|
@@ -236,6 +239,10 @@ tslib_1.__decorate([
|
|
|
236
239
|
(0, inversify_1.inject)(markdown_renderer_1.CoreMarkdownRenderer),
|
|
237
240
|
tslib_1.__metadata("design:type", Object)
|
|
238
241
|
], HoverService.prototype, "markdownRenderer", void 0);
|
|
242
|
+
tslib_1.__decorate([
|
|
243
|
+
(0, inversify_1.inject)(opener_service_1.OpenerService),
|
|
244
|
+
tslib_1.__metadata("design:type", Object)
|
|
245
|
+
], HoverService.prototype, "openerService", void 0);
|
|
239
246
|
exports.HoverService = HoverService = HoverService_1 = tslib_1.__decorate([
|
|
240
247
|
(0, inversify_1.injectable)()
|
|
241
248
|
], HoverService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-service.js","sourceRoot":"","sources":["../../src/browser/hover-service.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,yCAA+C;AAC/C,sCAA0G;AAE1G,uCAA2C;AAC3C,8EAAgG;
|
|
1
|
+
{"version":3,"file":"hover-service.js","sourceRoot":"","sources":["../../src/browser/hover-service.ts"],"names":[],"mappings":"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"}
|
package/lib/browser/index.d.ts
CHANGED
|
@@ -37,5 +37,6 @@ export * from './widget-status-bar-service';
|
|
|
37
37
|
export * from './badges';
|
|
38
38
|
export * from './markdown-rendering/markdown-renderer';
|
|
39
39
|
export * from './markdown-rendering/markdown';
|
|
40
|
+
export * from './markdown-rendering/markdown-link-handler';
|
|
40
41
|
export * from './components';
|
|
41
42
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAgBA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAgBA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4CAA4C,CAAC;AAC3D,cAAc,cAAc,CAAC"}
|
package/lib/browser/index.js
CHANGED
|
@@ -55,5 +55,6 @@ tslib_1.__exportStar(require("./widget-status-bar-service"), exports);
|
|
|
55
55
|
tslib_1.__exportStar(require("./badges"), exports);
|
|
56
56
|
tslib_1.__exportStar(require("./markdown-rendering/markdown-renderer"), exports);
|
|
57
57
|
tslib_1.__exportStar(require("./markdown-rendering/markdown"), exports);
|
|
58
|
+
tslib_1.__exportStar(require("./markdown-rendering/markdown-link-handler"), exports);
|
|
58
59
|
tslib_1.__exportStar(require("./components"), exports);
|
|
59
60
|
//# sourceMappingURL=index.js.map
|
package/lib/browser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.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,kDAAwB;AACxB,iEAAuC;AACvC,8EAAoD;AACpD,qDAA2B;AAC3B,2DAAiC;AACjC,8DAAoC;AACpC,oDAA0B;AAC1B,kEAAwC;AACxC,oDAA0B;AAC1B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,yEAA+C;AAC/C,yDAA+B;AAC/B,4DAAkC;AAClC,wDAA8B;AAC9B,2DAAiC;AACjC,qDAA2B;AAC3B,4DAAkC;AAClC,wDAA8B;AAC9B,uDAA6B;AAC7B,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,4DAAkC;AAClC,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,sEAA4C;AAC5C,mDAAyB;AACzB,iFAAuD;AACvD,wEAA8C;AAC9C,uDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.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,kDAAwB;AACxB,iEAAuC;AACvC,8EAAoD;AACpD,qDAA2B;AAC3B,2DAAiC;AACjC,8DAAoC;AACpC,oDAA0B;AAC1B,kEAAwC;AACxC,oDAA0B;AAC1B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,qDAA2B;AAC3B,yEAA+C;AAC/C,yDAA+B;AAC/B,4DAAkC;AAClC,wDAA8B;AAC9B,2DAAiC;AACjC,qDAA2B;AAC3B,4DAAkC;AAClC,wDAA8B;AAC9B,uDAA6B;AAC7B,uDAA6B;AAC7B,2DAAiC;AACjC,gEAAsC;AACtC,wDAA8B;AAC9B,sDAA4B;AAC5B,2DAAiC;AACjC,wDAA8B;AAC9B,4DAAkC;AAClC,6DAAmC;AACnC,4DAAkC;AAClC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,sEAA4C;AAC5C,mDAAyB;AACzB,iFAAuD;AACvD,wEAA8C;AAC9C,qFAA2D;AAC3D,uDAA6B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Disposable } from '../../common';
|
|
2
|
+
import { MarkdownString } from '../../common/markdown-rendering/markdown-string';
|
|
3
|
+
import { OpenerService } from '../opener-service';
|
|
4
|
+
/**
|
|
5
|
+
* Wires up anchor clicks inside a rendered markdown element so that they are routed
|
|
6
|
+
* through the {@link OpenerService} instead of relying on default browser navigation.
|
|
7
|
+
* Honors {@link MarkdownString.isTrusted} for `command:` URIs.
|
|
8
|
+
*
|
|
9
|
+
* Also sets the `title` attribute on each anchor to its `href` (when no title is set)
|
|
10
|
+
* so users can hover to see the link target.
|
|
11
|
+
*
|
|
12
|
+
* @returns a {@link Disposable} that removes the click listener.
|
|
13
|
+
*/
|
|
14
|
+
export declare function wireMarkdownLinkHandler(root: HTMLElement, source: MarkdownString, openerService: OpenerService): Disposable;
|
|
15
|
+
//# sourceMappingURL=markdown-link-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-link-handler.d.ts","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,OAAO,EAAQ,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,aAAa,GAC7B,UAAU,CAyBZ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource 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
|
+
exports.wireMarkdownLinkHandler = wireMarkdownLinkHandler;
|
|
19
|
+
const common_1 = require("../../common");
|
|
20
|
+
const markdown_string_1 = require("../../common/markdown-rendering/markdown-string");
|
|
21
|
+
const uri_1 = require("../../common/uri");
|
|
22
|
+
const opener_service_1 = require("../opener-service");
|
|
23
|
+
/**
|
|
24
|
+
* Wires up anchor clicks inside a rendered markdown element so that they are routed
|
|
25
|
+
* through the {@link OpenerService} instead of relying on default browser navigation.
|
|
26
|
+
* Honors {@link MarkdownString.isTrusted} for `command:` URIs.
|
|
27
|
+
*
|
|
28
|
+
* Also sets the `title` attribute on each anchor to its `href` (when no title is set)
|
|
29
|
+
* so users can hover to see the link target.
|
|
30
|
+
*
|
|
31
|
+
* @returns a {@link Disposable} that removes the click listener.
|
|
32
|
+
*/
|
|
33
|
+
function wireMarkdownLinkHandler(root, source, openerService) {
|
|
34
|
+
for (const anchor of root.querySelectorAll('a')) {
|
|
35
|
+
const href = anchor.getAttribute('href');
|
|
36
|
+
if (href && !anchor.hasAttribute('title')) {
|
|
37
|
+
anchor.setAttribute('title', href);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const handleClick = async (event) => {
|
|
41
|
+
const href = event.target?.closest('a')?.getAttribute('href');
|
|
42
|
+
if (!href) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
const uri = new uri_1.default(href);
|
|
47
|
+
if (uri.scheme === 'command' && !markdown_string_1.MarkdownString.isCommandAllowed(source.isTrusted, uri.path.toString())) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
await (0, opener_service_1.open)(openerService, uri);
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
console.error(`Failed to open '${uri.toString()}':`, e);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
root.addEventListener('click', handleClick);
|
|
58
|
+
return common_1.Disposable.create(() => root.removeEventListener('click', handleClick));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=markdown-link-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-link-handler.js","sourceRoot":"","sources":["../../../src/browser/markdown-rendering/markdown-link-handler.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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;;AAiBhF,0DA6BC;AA5CD,yCAA0C;AAC1C,qFAAiF;AACjF,0CAAmC;AACnC,sDAAwD;AAExD;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CACnC,IAAiB,EACjB,MAAsB,EACtB,aAA4B;IAE5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAiB,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAI,KAAK,CAAC,MAA6B,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,gCAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtG,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAA,qBAAI,EAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC5C,OAAO,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -21,6 +21,12 @@ export declare namespace MarkdownString {
|
|
|
21
21
|
* @returns whether the candidate satisfies the interface of a markdown string
|
|
22
22
|
*/
|
|
23
23
|
function is(candidate: unknown): candidate is MarkdownString;
|
|
24
|
+
/**
|
|
25
|
+
* @returns whether `commandId` is allowed to execute given the markdown string's
|
|
26
|
+
* {@link MarkdownString.isTrusted} setting. Fully trusted strings allow any command;
|
|
27
|
+
* partially trusted strings restrict execution to their `enabledCommands` list.
|
|
28
|
+
*/
|
|
29
|
+
function isCommandAllowed(isTrusted: MarkdownString['isTrusted'], commandId: string): boolean;
|
|
24
30
|
}
|
|
25
31
|
export declare class MarkdownStringImpl implements MarkdownString {
|
|
26
32
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-string.d.ts","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IAC5D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;CAC5C;AAED,oBAAY,8BAA8B;IACtC,SAAS,IAAI;IACb,KAAK,IAAI;CACZ;AAED,yBAAiB,cAAc,CAAC;IAC5B;;OAEG;IACH,SAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,cAAc,CAElE;CACJ;AAID,qBAAa,kBAAmB,YAAW,cAAc;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;gBAG3B,KAAK,GAAE,MAAW,EAClB,kBAAkB,GAAE,OAAO,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAU;IAkBpJ,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,8BAAyE,GAAG,kBAAkB;IAStI,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAKjD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAejE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAY7F,OAAO,CAAC,OAAO;CAUlB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAoB3F"}
|
|
1
|
+
{"version":3,"file":"markdown-string.d.ts","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAIvC,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IAC5D,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;CAC5C;AAED,oBAAY,8BAA8B;IACtC,SAAS,IAAI;IACb,KAAK,IAAI;CACZ;AAED,yBAAiB,cAAc,CAAC;IAC5B;;OAEG;IACH,SAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,cAAc,CAElE;IAED;;;;OAIG;IACH,SAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGnG;CACJ;AAID,qBAAa,kBAAmB,YAAW,cAAc;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;gBAG3B,KAAK,GAAE,MAAW,EAClB,kBAAkB,GAAE,OAAO,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAU;IAkBpJ,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,8BAAyE,GAAG,kBAAkB;IAStI,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAKjD,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAejE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAY7F,OAAO,CAAC,OAAO;CAUlB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D;AAID,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAoB3F"}
|
|
@@ -35,6 +35,16 @@ var MarkdownString;
|
|
|
35
35
|
return (0, types_1.isObject)(candidate) && (0, types_1.isString)(candidate.value);
|
|
36
36
|
}
|
|
37
37
|
MarkdownString.is = is;
|
|
38
|
+
/**
|
|
39
|
+
* @returns whether `commandId` is allowed to execute given the markdown string's
|
|
40
|
+
* {@link MarkdownString.isTrusted} setting. Fully trusted strings allow any command;
|
|
41
|
+
* partially trusted strings restrict execution to their `enabledCommands` list.
|
|
42
|
+
*/
|
|
43
|
+
function isCommandAllowed(isTrusted, commandId) {
|
|
44
|
+
return isTrusted === true
|
|
45
|
+
|| (typeof isTrusted === 'object' && isTrusted.enabledCommands.includes(commandId));
|
|
46
|
+
}
|
|
47
|
+
MarkdownString.isCommandAllowed = isCommandAllowed;
|
|
38
48
|
})(MarkdownString || (exports.MarkdownString = MarkdownString = {}));
|
|
39
49
|
// Copied from https://github.com/microsoft/vscode/blob/7d9b1c37f8e5ae3772782ba3b09d827eb3fdd833/src/vs/base/common/htmlContent.ts
|
|
40
50
|
class MarkdownStringImpl {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-string.js","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.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;;;
|
|
1
|
+
{"version":3,"file":"markdown-string.js","sourceRoot":"","sources":["../../../src/common/markdown-rendering/markdown-string.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.72.0-next.
|
|
3
|
+
"version": "1.72.0-next.50+f26609f54",
|
|
4
4
|
"description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"@lumino/virtualdom": "^2.0.4",
|
|
18
18
|
"@lumino/widgets": "2.7.5",
|
|
19
19
|
"@parcel/watcher": "^2.5.6",
|
|
20
|
-
"@theia/application-package": "1.72.0-next.
|
|
21
|
-
"@theia/request": "1.72.0-next.
|
|
20
|
+
"@theia/application-package": "1.72.0-next.50+f26609f54",
|
|
21
|
+
"@theia/request": "1.72.0-next.50+f26609f54",
|
|
22
22
|
"@types/body-parser": "^1.19.6",
|
|
23
23
|
"@types/express": "^4.17.25",
|
|
24
24
|
"@types/fs-extra": "^4.0.15",
|
|
@@ -221,5 +221,5 @@
|
|
|
221
221
|
"nyc": {
|
|
222
222
|
"extends": "../../configs/nyc.json"
|
|
223
223
|
},
|
|
224
|
-
"gitHead": "
|
|
224
|
+
"gitHead": "f26609f5411c7101a4b2f540584b8163a6036131"
|
|
225
225
|
}
|
|
@@ -148,10 +148,6 @@ class DecorationProviderWrapper {
|
|
|
148
148
|
const request = new DecorationDataRequest(source, Promise.resolve(dataOrThenable).then(data => {
|
|
149
149
|
if (this.data.get(uri) === request) {
|
|
150
150
|
this.keepItem(uri, data);
|
|
151
|
-
// Notify subscribers that a lazily-fetched decoration is now
|
|
152
|
-
// available so renderers can re-query. Without this, decorations
|
|
153
|
-
// dropped by event truncation never reach the UI.
|
|
154
|
-
this.onDidChangeDecorationsEmitter.fire(this.decorations);
|
|
155
151
|
}
|
|
156
152
|
}).catch(err => {
|
|
157
153
|
if (!(err instanceof Error && err.name === 'Canceled' && err.message === 'Canceled') && this.data.get(uri) === request) {
|
|
@@ -18,7 +18,9 @@ import { inject, injectable } from 'inversify';
|
|
|
18
18
|
import { Disposable, DisposableCollection, disposableTimeout, isOSX, PreferenceService } from '../common';
|
|
19
19
|
import { MarkdownString } from '../common/markdown-rendering/markdown-string';
|
|
20
20
|
import { animationFrame } from './browser';
|
|
21
|
+
import { wireMarkdownLinkHandler } from './markdown-rendering/markdown-link-handler';
|
|
21
22
|
import { CoreMarkdownRenderer, MarkdownRenderer } from './markdown-rendering/markdown-renderer';
|
|
23
|
+
import { OpenerService } from './opener-service';
|
|
22
24
|
|
|
23
25
|
import '../../src/browser/style/hover-service.css';
|
|
24
26
|
|
|
@@ -97,6 +99,8 @@ export class HoverService {
|
|
|
97
99
|
// which is rebound by Monaco to a renderer that strips code block content.
|
|
98
100
|
@inject(CoreMarkdownRenderer) protected readonly markdownRenderer: MarkdownRenderer;
|
|
99
101
|
|
|
102
|
+
@inject(OpenerService) protected readonly openerService: OpenerService;
|
|
103
|
+
|
|
100
104
|
protected _hoverHost: HTMLElement | undefined;
|
|
101
105
|
protected get hoverHost(): HTMLElement {
|
|
102
106
|
if (!this._hoverHost) {
|
|
@@ -147,6 +151,7 @@ export class HoverService {
|
|
|
147
151
|
this.disposeOnHide.push(renderedContent);
|
|
148
152
|
host.appendChild(renderedContent.element);
|
|
149
153
|
firstChild = renderedContent.element;
|
|
154
|
+
this.disposeOnHide.push(wireMarkdownLinkHandler(renderedContent.element, content, this.openerService));
|
|
150
155
|
}
|
|
151
156
|
// browsers might insert linebreaks when the hover appears at the edge of the window
|
|
152
157
|
// resetting the position prevents that
|
package/src/browser/index.ts
CHANGED
|
@@ -53,4 +53,5 @@ export * from './widget-status-bar-service';
|
|
|
53
53
|
export * from './badges';
|
|
54
54
|
export * from './markdown-rendering/markdown-renderer';
|
|
55
55
|
export * from './markdown-rendering/markdown';
|
|
56
|
+
export * from './markdown-rendering/markdown-link-handler';
|
|
56
57
|
export * from './components';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { Disposable } from '../../common';
|
|
18
|
+
import { MarkdownString } from '../../common/markdown-rendering/markdown-string';
|
|
19
|
+
import URI from '../../common/uri';
|
|
20
|
+
import { open, OpenerService } from '../opener-service';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Wires up anchor clicks inside a rendered markdown element so that they are routed
|
|
24
|
+
* through the {@link OpenerService} instead of relying on default browser navigation.
|
|
25
|
+
* Honors {@link MarkdownString.isTrusted} for `command:` URIs.
|
|
26
|
+
*
|
|
27
|
+
* Also sets the `title` attribute on each anchor to its `href` (when no title is set)
|
|
28
|
+
* so users can hover to see the link target.
|
|
29
|
+
*
|
|
30
|
+
* @returns a {@link Disposable} that removes the click listener.
|
|
31
|
+
*/
|
|
32
|
+
export function wireMarkdownLinkHandler(
|
|
33
|
+
root: HTMLElement,
|
|
34
|
+
source: MarkdownString,
|
|
35
|
+
openerService: OpenerService
|
|
36
|
+
): Disposable {
|
|
37
|
+
for (const anchor of root.querySelectorAll('a')) {
|
|
38
|
+
const href = anchor.getAttribute('href');
|
|
39
|
+
if (href && !anchor.hasAttribute('title')) {
|
|
40
|
+
anchor.setAttribute('title', href);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const handleClick = async (event: MouseEvent) => {
|
|
44
|
+
const href = (event.target as HTMLElement | null)?.closest('a')?.getAttribute('href');
|
|
45
|
+
if (!href) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
const uri = new URI(href);
|
|
50
|
+
if (uri.scheme === 'command' && !MarkdownString.isCommandAllowed(source.isTrusted, uri.path.toString())) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
await open(openerService, uri);
|
|
55
|
+
} catch (e) {
|
|
56
|
+
console.error(`Failed to open '${uri.toString()}':`, e);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
root.addEventListener('click', handleClick);
|
|
60
|
+
return Disposable.create(() => root.removeEventListener('click', handleClick));
|
|
61
|
+
}
|
|
@@ -44,6 +44,16 @@ export namespace MarkdownString {
|
|
|
44
44
|
export function is(candidate: unknown): candidate is MarkdownString {
|
|
45
45
|
return isObject<MarkdownString>(candidate) && isString(candidate.value);
|
|
46
46
|
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @returns whether `commandId` is allowed to execute given the markdown string's
|
|
50
|
+
* {@link MarkdownString.isTrusted} setting. Fully trusted strings allow any command;
|
|
51
|
+
* partially trusted strings restrict execution to their `enabledCommands` list.
|
|
52
|
+
*/
|
|
53
|
+
export function isCommandAllowed(isTrusted: MarkdownString['isTrusted'], commandId: string): boolean {
|
|
54
|
+
return isTrusted === true
|
|
55
|
+
|| (typeof isTrusted === 'object' && isTrusted.enabledCommands.includes(commandId));
|
|
56
|
+
}
|
|
47
57
|
}
|
|
48
58
|
|
|
49
59
|
// Copied from https://github.com/microsoft/vscode/blob/7d9b1c37f8e5ae3772782ba3b09d827eb3fdd833/src/vs/base/common/htmlContent.ts
|