@theia/core 1.72.0-next.5 → 1.72.0-next.52

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.
Files changed (62) hide show
  1. package/README.md +3 -3
  2. package/lib/browser/catalog.json +480 -30
  3. package/lib/browser/frontend-application-module.d.ts +3 -0
  4. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  5. package/lib/browser/frontend-application-module.js +5 -2
  6. package/lib/browser/frontend-application-module.js.map +1 -1
  7. package/lib/browser/hover-service.d.ts +4 -4
  8. package/lib/browser/hover-service.d.ts.map +1 -1
  9. package/lib/browser/hover-service.js +10 -7
  10. package/lib/browser/hover-service.js.map +1 -1
  11. package/lib/browser/index.d.ts +1 -0
  12. package/lib/browser/index.d.ts.map +1 -1
  13. package/lib/browser/index.js +1 -0
  14. package/lib/browser/index.js.map +1 -1
  15. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts +15 -0
  16. package/lib/browser/markdown-rendering/markdown-link-handler.d.ts.map +1 -0
  17. package/lib/browser/markdown-rendering/markdown-link-handler.js +60 -0
  18. package/lib/browser/markdown-rendering/markdown-link-handler.js.map +1 -0
  19. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +5 -0
  20. package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
  21. package/lib/browser/markdown-rendering/markdown-renderer.js +6 -1
  22. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  23. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  24. package/lib/browser/widgets/select-component.js.map +1 -1
  25. package/lib/common/markdown-rendering/markdown-string.d.ts +7 -0
  26. package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
  27. package/lib/common/markdown-rendering/markdown-string.js +34 -2
  28. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  29. package/lib/common/markdown-rendering/markdown-string.spec.d.ts +2 -0
  30. package/lib/common/markdown-rendering/markdown-string.spec.d.ts.map +1 -0
  31. package/lib/common/markdown-rendering/markdown-string.spec.js +47 -0
  32. package/lib/common/markdown-rendering/markdown-string.spec.js.map +1 -0
  33. package/lib/node/backend-application-module.d.ts.map +1 -1
  34. package/lib/node/backend-application-module.js +7 -0
  35. package/lib/node/backend-application-module.js.map +1 -1
  36. package/lib/node/backend-application.d.ts +43 -3
  37. package/lib/node/backend-application.d.ts.map +1 -1
  38. package/lib/node/backend-application.js +82 -15
  39. package/lib/node/backend-application.js.map +1 -1
  40. package/lib/node/backend-application.spec.d.ts +2 -0
  41. package/lib/node/backend-application.spec.d.ts.map +1 -0
  42. package/lib/node/backend-application.spec.js +252 -0
  43. package/lib/node/backend-application.spec.js.map +1 -0
  44. package/lib/node/logger-cli-contribution.spec.js +9 -9
  45. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  46. package/package.json +16 -16
  47. package/src/browser/frontend-application-module.ts +6 -3
  48. package/src/browser/hover-service.ts +9 -7
  49. package/src/browser/index.ts +1 -0
  50. package/src/browser/markdown-rendering/markdown-link-handler.ts +61 -0
  51. package/src/browser/markdown-rendering/markdown-renderer.ts +6 -0
  52. package/src/browser/style/hover-service.css +1 -0
  53. package/src/browser/style/index.css +31 -32
  54. package/src/browser/style/scrollbars.css +0 -2
  55. package/src/browser/style/select-component.css +6 -3
  56. package/src/browser/widgets/select-component.tsx +1 -1
  57. package/src/common/markdown-rendering/markdown-string.spec.ts +50 -0
  58. package/src/common/markdown-rendering/markdown-string.ts +34 -2
  59. package/src/node/backend-application-module.ts +11 -1
  60. package/src/node/backend-application.spec.ts +310 -0
  61. package/src/node/backend-application.ts +104 -19
  62. package/src/node/logger-cli-contribution.spec.ts +9 -9
@@ -0,0 +1,252 @@
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
+ const tslib_1 = require("tslib");
19
+ const chai_1 = require("chai");
20
+ const sinon = require("sinon");
21
+ const inversify_1 = require("inversify");
22
+ const common_1 = require("../common");
23
+ const promise_util_1 = require("../common/promise-util");
24
+ const mock_logger_1 = require("../common/test/mock-logger");
25
+ const node_stopwatch_1 = require("./performance/node-stopwatch");
26
+ const process_utils_1 = require("./process-utils");
27
+ const backend_application_1 = require("./backend-application");
28
+ const cli_1 = require("./cli");
29
+ /**
30
+ * Test subclass that exposes the protected `gracefulShutdown` for direct testing.
31
+ */
32
+ let TestBackendApplication = class TestBackendApplication extends backend_application_1.BackendApplication {
33
+ invokeGracefulShutdown() {
34
+ return this.gracefulShutdown();
35
+ }
36
+ };
37
+ TestBackendApplication = tslib_1.__decorate([
38
+ (0, inversify_1.injectable)()
39
+ ], TestBackendApplication);
40
+ // All process events on which `BackendApplication` installs listeners in its
41
+ // constructor. We snapshot and restore them around each test to avoid leaking
42
+ // listeners across tests (and triggering `MaxListenersExceededWarning`).
43
+ const PROCESS_EVENTS = ['SIGINT', 'SIGTERM', 'SIGPIPE', 'exit', 'uncaughtException'];
44
+ describe('BackendApplication', () => {
45
+ let sandbox;
46
+ let exitStub;
47
+ let savedListeners;
48
+ beforeEach(() => {
49
+ sandbox = sinon.createSandbox();
50
+ // Snapshot any existing listeners so we can restore after each test
51
+ // (BackendApplication installs its own as part of construction).
52
+ savedListeners = {};
53
+ for (const evt of PROCESS_EVENTS) {
54
+ savedListeners[evt] = [...process.listeners(evt)];
55
+ process.removeAllListeners(evt);
56
+ }
57
+ exitStub = sandbox.stub(process, 'exit');
58
+ });
59
+ afterEach(() => {
60
+ for (const evt of PROCESS_EVENTS) {
61
+ process.removeAllListeners(evt);
62
+ for (const listener of savedListeners[evt] ?? []) {
63
+ process.on(evt, listener);
64
+ }
65
+ }
66
+ sandbox.restore();
67
+ });
68
+ function createTestContainer() {
69
+ const container = new inversify_1.Container();
70
+ container.bind(backend_application_1.RootContainer).toConstantValue(container);
71
+ container.bind(common_1.ILogger).to(mock_logger_1.MockLogger).inSingletonScope();
72
+ container.bind(common_1.Stopwatch).to(node_stopwatch_1.NodeStopwatch).inSingletonScope();
73
+ container.bind(process_utils_1.ProcessUtils).toSelf().inSingletonScope();
74
+ container.bind(backend_application_1.BackendApplicationCliContribution).toSelf().inSingletonScope();
75
+ container.bind(cli_1.CliContribution).toService(backend_application_1.BackendApplicationCliContribution);
76
+ (0, common_1.bindContributionProvider)(container, backend_application_1.BackendApplicationContribution);
77
+ container.bind(TestBackendApplication).toSelf().inSingletonScope();
78
+ container.bind(backend_application_1.BackendApplication).toService(TestBackendApplication);
79
+ return container;
80
+ }
81
+ describe('graceful shutdown', () => {
82
+ it('runs @preDestroy on root-scoped singletons before exiting with code 1', async () => {
83
+ let canaryDisposed = false;
84
+ let Canary = class Canary {
85
+ onPreDestroy() {
86
+ canaryDisposed = true;
87
+ }
88
+ };
89
+ tslib_1.__decorate([
90
+ (0, inversify_1.preDestroy)(),
91
+ tslib_1.__metadata("design:type", Function),
92
+ tslib_1.__metadata("design:paramtypes", []),
93
+ tslib_1.__metadata("design:returntype", void 0)
94
+ ], Canary.prototype, "onPreDestroy", null);
95
+ Canary = tslib_1.__decorate([
96
+ (0, inversify_1.injectable)()
97
+ ], Canary);
98
+ const container = createTestContainer();
99
+ const canaryModule = new inversify_1.ContainerModule(bind => {
100
+ bind(Canary).toSelf().inSingletonScope();
101
+ });
102
+ container.load(canaryModule);
103
+ container.get(Canary);
104
+ const app = container.get(TestBackendApplication);
105
+ await app.invokeGracefulShutdown();
106
+ (0, chai_1.expect)(canaryDisposed, '@preDestroy was not invoked on root-scoped singleton').to.be.true;
107
+ (0, chai_1.expect)(exitStub.calledOnceWith(1), 'process.exit(1) was not called exactly once').to.be.true;
108
+ });
109
+ it('is idempotent: a second invocation does not unbind the container twice', async () => {
110
+ const container = createTestContainer();
111
+ const unbindSpy = sandbox.spy(container, 'unbindAllAsync');
112
+ const app = container.get(TestBackendApplication);
113
+ await app.invokeGracefulShutdown();
114
+ await app.invokeGracefulShutdown();
115
+ (0, chai_1.expect)(unbindSpy.callCount, 'unbindAllAsync should be called only once').to.equal(1);
116
+ (0, chai_1.expect)(exitStub.callCount, 'process.exit should be called only once').to.equal(1);
117
+ });
118
+ it('still exits if container cleanup rejects', async () => {
119
+ const container = createTestContainer();
120
+ const cleanupError = new Error('cleanup boom');
121
+ sandbox.stub(container, 'unbindAllAsync').rejects(cleanupError);
122
+ const warnStub = sandbox.stub(console, 'warn');
123
+ const app = container.get(TestBackendApplication);
124
+ await app.invokeGracefulShutdown();
125
+ (0, chai_1.expect)(exitStub.calledOnceWith(1), 'process.exit(1) was not called').to.be.true;
126
+ (0, chai_1.expect)(warnStub.calledOnce, 'a warning should be logged when cleanup rejects').to.be.true;
127
+ (0, chai_1.expect)(warnStub.firstCall.args[0]).to.match(/cleanup boom/);
128
+ });
129
+ it('exits even when container cleanup hangs past the timeout', async () => {
130
+ const clock = sandbox.useFakeTimers();
131
+ const container = createTestContainer();
132
+ sandbox.stub(container, 'unbindAllAsync').returns(new Promise(() => { }));
133
+ const warnStub = sandbox.stub(console, 'warn');
134
+ const app = container.get(TestBackendApplication);
135
+ const shutdownPromise = app.invokeGracefulShutdown();
136
+ await clock.tickAsync(5001);
137
+ await shutdownPromise;
138
+ (0, chai_1.expect)(exitStub.calledOnceWith(1), 'process.exit(1) was not called after timeout').to.be.true;
139
+ (0, chai_1.expect)(warnStub.calledOnce, 'a warning should be logged on timeout').to.be.true;
140
+ (0, chai_1.expect)(warnStub.firstCall.args[0]).to.match(/timed out/);
141
+ });
142
+ it('awaits async onStop contributions before unbinding the container', async () => {
143
+ const container = createTestContainer();
144
+ const onStopDeferred = new promise_util_1.Deferred();
145
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
146
+ onStop: () => onStopDeferred.promise
147
+ });
148
+ const unbindSpy = sandbox.spy(container, 'unbindAllAsync');
149
+ const app = container.get(TestBackendApplication);
150
+ const shutdownPromise = app.invokeGracefulShutdown();
151
+ (0, chai_1.expect)(unbindSpy.called, 'unbindAllAsync should not run before onStop resolves').to.be.false;
152
+ onStopDeferred.resolve();
153
+ await shutdownPromise;
154
+ (0, chai_1.expect)(unbindSpy.calledOnce, 'unbindAllAsync should run once onStop completes').to.be.true;
155
+ (0, chai_1.expect)(exitStub.calledOnceWith(1)).to.be.true;
156
+ });
157
+ it('invokes onStop hooks while injected services are still resolvable', async () => {
158
+ let Helper = class Helper {
159
+ constructor() {
160
+ this.value = 'still-bound';
161
+ }
162
+ };
163
+ Helper = tslib_1.__decorate([
164
+ (0, inversify_1.injectable)()
165
+ ], Helper);
166
+ const container = createTestContainer();
167
+ container.bind(Helper).toSelf().inSingletonScope();
168
+ let observed;
169
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
170
+ onStop: () => {
171
+ observed = container.get(Helper).value;
172
+ }
173
+ });
174
+ const app = container.get(TestBackendApplication);
175
+ await app.invokeGracefulShutdown();
176
+ (0, chai_1.expect)(observed, 'onStop should observe injected services that are still bound').to.equal('still-bound');
177
+ });
178
+ it('proceeds with shutdown when onStop hooks exceed the timeout', async () => {
179
+ const clock = sandbox.useFakeTimers();
180
+ const container = createTestContainer();
181
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
182
+ onStop: () => new Promise(() => { })
183
+ });
184
+ const unbindSpy = sandbox.spy(container, 'unbindAllAsync');
185
+ const warnStub = sandbox.stub(console, 'warn');
186
+ const app = container.get(TestBackendApplication);
187
+ const shutdownPromise = app.invokeGracefulShutdown();
188
+ await clock.tickAsync(5001);
189
+ await shutdownPromise;
190
+ (0, chai_1.expect)(warnStub.calledOnce, 'a warning should be logged on onStop timeout').to.be.true;
191
+ (0, chai_1.expect)(warnStub.firstCall.args[0]).to.match(/Stopping backend contributions/);
192
+ (0, chai_1.expect)(unbindSpy.calledOnce, 'unbind should still run after onStop times out').to.be.true;
193
+ (0, chai_1.expect)(exitStub.calledOnceWith(1)).to.be.true;
194
+ });
195
+ it('runs all contributions even when one onStop rejects', async () => {
196
+ const container = createTestContainer();
197
+ let secondRan = false;
198
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
199
+ onStop: async () => { throw new Error('boom'); }
200
+ });
201
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
202
+ onStop: () => { secondRan = true; }
203
+ });
204
+ const errorStub = sandbox.stub(console, 'error');
205
+ const app = container.get(TestBackendApplication);
206
+ await app.invokeGracefulShutdown();
207
+ (0, chai_1.expect)(secondRan, 'second contribution should still be stopped after first rejects').to.be.true;
208
+ (0, chai_1.expect)(errorStub.calledWithMatch('Could not stop contribution')).to.be.true;
209
+ });
210
+ it('is idempotent when a contribution re-enters graceful shutdown', async () => {
211
+ const container = createTestContainer();
212
+ // Indirected through a holder so the contribution closure can refer to the
213
+ // application instance that is constructed after the binding is recorded.
214
+ const appHolder = {};
215
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({
216
+ onStop: () => appHolder.current.invokeGracefulShutdown()
217
+ });
218
+ const unbindSpy = sandbox.spy(container, 'unbindAllAsync');
219
+ appHolder.current = container.get(TestBackendApplication);
220
+ await appHolder.current.invokeGracefulShutdown();
221
+ (0, chai_1.expect)(unbindSpy.callCount, 'unbindAllAsync should be called only once').to.equal(1);
222
+ (0, chai_1.expect)(exitStub.callCount, 'process.exit should be called only once').to.equal(1);
223
+ });
224
+ });
225
+ describe('process exit handler', () => {
226
+ it('does not re-invoke contributions after graceful shutdown ran them', async () => {
227
+ const container = createTestContainer();
228
+ const onStopSpy = sandbox.spy();
229
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({ onStop: onStopSpy });
230
+ const terminateStub = sandbox.stub(process_utils_1.ProcessUtils.prototype, 'terminateProcessTree');
231
+ const app = container.get(TestBackendApplication);
232
+ const exitListener = process.listeners('exit')[0];
233
+ await app.invokeGracefulShutdown();
234
+ (0, chai_1.expect)(onStopSpy.callCount, 'contribution onStop should fire from gracefulShutdown').to.equal(1);
235
+ exitListener();
236
+ (0, chai_1.expect)(onStopSpy.callCount, 'contribution onStop should not be invoked a second time').to.equal(1);
237
+ (0, chai_1.expect)(terminateStub.called, 'terminateProcessTree should be invoked by the exit handler').to.be.true;
238
+ });
239
+ it('invokes contributions synchronously when graceful shutdown was bypassed', () => {
240
+ const container = createTestContainer();
241
+ const onStopSpy = sandbox.spy();
242
+ container.bind(backend_application_1.BackendApplicationContribution).toConstantValue({ onStop: onStopSpy });
243
+ const terminateStub = sandbox.stub(process_utils_1.ProcessUtils.prototype, 'terminateProcessTree');
244
+ container.get(TestBackendApplication);
245
+ const exitListener = process.listeners('exit')[0];
246
+ exitListener();
247
+ (0, chai_1.expect)(onStopSpy.calledOnce, 'sync exit path should still invoke contributions').to.be.true;
248
+ (0, chai_1.expect)(terminateStub.called, 'terminateProcessTree should be invoked').to.be.true;
249
+ });
250
+ });
251
+ });
252
+ //# sourceMappingURL=backend-application.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-application.spec.js","sourceRoot":"","sources":["../../src/node/backend-application.spec.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ describe('log-level-cli-contribution', () => {
54
54
  container.unload();
55
55
  });
56
56
  it('should use --log-level flag', async () => {
57
- const args = yargs.parse(['--log-level=debug']);
57
+ const args = await yargs.parse(['--log-level=debug']);
58
58
  await cli.setArguments(args);
59
59
  (0, chai_1.expect)(cli.defaultLogLevel).eq(logger_1.LogLevel.DEBUG);
60
60
  });
@@ -69,7 +69,7 @@ describe('log-level-cli-contribution', () => {
69
69
  }));
70
70
  fs.fsyncSync(file.fd);
71
71
  fs.closeSync(file.fd);
72
- const args = yargs.parse(['--log-config', file.path]);
72
+ const args = await yargs.parse(['--log-config', file.path]);
73
73
  await cli.setArguments(args);
74
74
  (0, chai_1.expect)(cli.defaultLogLevel).eq(logger_1.LogLevel.INFO);
75
75
  (0, chai_1.expect)(cli.logLevels).eql({
@@ -78,7 +78,7 @@ describe('log-level-cli-contribution', () => {
78
78
  });
79
79
  });
80
80
  it('should use info as default log level', async () => {
81
- const args = yargs.parse([]);
81
+ const args = await yargs.parse([]);
82
82
  await cli.setArguments(args);
83
83
  (0, chai_1.expect)(cli.defaultLogLevel).eq(logger_1.LogLevel.INFO);
84
84
  (0, chai_1.expect)(cli.logLevels).eql({});
@@ -92,7 +92,7 @@ describe('log-level-cli-contribution', () => {
92
92
  'world': 'fatal',
93
93
  }
94
94
  }));
95
- const args = yargs.parse(['--log-config', file.path]);
95
+ const args = await yargs.parse(['--log-config', file.path]);
96
96
  await cli.setArguments(args);
97
97
  sinon.assert.calledWithMatch(consoleErrorSpy, 'Unknown default log level in');
98
98
  });
@@ -105,12 +105,12 @@ describe('log-level-cli-contribution', () => {
105
105
  'world': 'fatal',
106
106
  }
107
107
  }));
108
- const args = yargs.parse(['--log-config', file.path]);
108
+ const args = await yargs.parse(['--log-config', file.path]);
109
109
  await cli.setArguments(args);
110
110
  sinon.assert.calledWithMatch(consoleErrorSpy, 'Unknown log level for logger hello in');
111
111
  });
112
112
  it('should reject nonexistent config files', async () => {
113
- const args = yargs.parse(['--log-config', '/tmp/cacaca']);
113
+ const args = await yargs.parse(['--log-config', '/tmp/cacaca']);
114
114
  await cli.setArguments(args);
115
115
  sinon.assert.calledWithMatch(consoleErrorSpy, 'no such file or directory');
116
116
  });
@@ -124,7 +124,7 @@ describe('log-level-cli-contribution', () => {
124
124
  }
125
125
  });
126
126
  fs.writeFileSync(file.fd, '{' + text);
127
- const args = yargs.parse(['--log-config', file.path]);
127
+ const args = await yargs.parse(['--log-config', file.path]);
128
128
  await cli.setArguments(args);
129
129
  sinon.assert.calledWithMatch(consoleErrorSpy, 'Error reading log config file');
130
130
  });
@@ -147,7 +147,7 @@ describe('log-level-cli-contribution', () => {
147
147
  }));
148
148
  fs.fsyncSync(file.fd);
149
149
  fs.closeSync(file.fd);
150
- const args = yargs.parse(['--log-config', file.path]);
150
+ const args = await yargs.parse(['--log-config', file.path]);
151
151
  await cli.setArguments(args);
152
152
  }
153
153
  (0, chai_1.expect)(cli.defaultLogLevel).eq(logger_1.LogLevel.INFO);
@@ -187,7 +187,7 @@ describe('log-level-cli-contribution', () => {
187
187
  }
188
188
  }));
189
189
  fs.fsyncSync(file.fd);
190
- const args = yargs.parse(['--log-config', file.path]);
190
+ const args = await yargs.parse(['--log-config', file.path]);
191
191
  await cli.setArguments(args);
192
192
  (0, chai_1.expect)(cli.defaultLogLevel).eq(logger_1.LogLevel.INFO);
193
193
  (0, chai_1.expect)(cli.logLevels).eql({
@@ -1 +1 @@
1
- {"version":3,"file":"logger-cli-contribution.spec.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-cli-contribution.spec.js","sourceRoot":"","sources":["../../src/node/logger-cli-contribution.spec.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,+BAA8B;AAC9B,+BAA+B;AAC/B,6BAA6B;AAC7B,yBAAyB;AACzB,yCAAuD;AACvD,6CAA4C;AAC5C,uEAAoE;AACpE,+BAA+B;AAC/B,sCAA6D;AAE7D,oEAAoE;AACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAE3B,IAAI,GAA4B,CAAC;AACjC,IAAI,eAA+B,CAAC;AACpC,IAAI,SAAoB,CAAC;AACzB,IAAI,cAAoC,CAAC;AAEzC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAExC,MAAM,CAAC,GAAG,EAAE;QACR,cAAc,GAAG,IAAI,6BAAoB,CACrC,mBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC/C,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACP,cAAc,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAE5B,MAAM,MAAM,GAAG,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,iDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvB,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,iDAAuB,CAAC,CAAC;QAC7C,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAErB,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACjB,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvE,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACrC,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACtB,KAAK,EAAE,iBAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,iBAAQ,CAAC,KAAK;SACxB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACrC,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACrC,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;QACjF,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YACxB,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;QAEtC,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,0EAA0E;IAC1E,oDAAoD;IACpD,EAAE;IACF,mJAAmJ;IACnJ,EAAE,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC/C,IAAI,QAAgB,CAAC;QACrB,CAAC;YACG,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACrB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;gBACrC,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE;oBACJ,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC,CAAC;YACJ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtB,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACtB,KAAK,EAAE,iBAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,iBAAQ,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACzC,GAAG,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAExC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAEtC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACrB,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;gBAChC,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE;oBACJ,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC,CAAC;YACJ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACjB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC;QAEf,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACtB,OAAO,EAAE,iBAAQ,CAAC,KAAK;YACvB,KAAK,EAAE,iBAAQ,CAAC,KAAK;SACxB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK;QACvF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC;YACrC,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAoB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACtB,KAAK,EAAE,iBAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,iBAAQ,CAAC,KAAK;SACxB,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAClD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE;oBACJ,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACnB;aACJ,CAAC,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAChC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEtB,4DAA4D;YAC5D,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,CAAC;QAExB,IAAA,aAAM,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,iBAAQ,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,aAAM,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACtB,KAAK,EAAE,iBAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,iBAAQ,CAAC,KAAK;SACxB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.72.0-next.5+b7e4c26e2",
3
+ "version": "1.72.0-next.52+726081b2a",
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,11 +17,11 @@
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.5+b7e4c26e2",
21
- "@theia/request": "1.72.0-next.5+b7e4c26e2",
20
+ "@theia/application-package": "1.72.0-next.52+726081b2a",
21
+ "@theia/request": "1.72.0-next.52+726081b2a",
22
22
  "@types/body-parser": "^1.19.6",
23
- "@types/express": "^4.17.21",
24
- "@types/fs-extra": "^4.0.2",
23
+ "@types/express": "^4.17.25",
24
+ "@types/fs-extra": "^4.0.15",
25
25
  "@types/lodash.debounce": "4.0.3",
26
26
  "@types/lodash.throttle": "^4.1.9",
27
27
  "@types/markdown-it": "^14.1.2",
@@ -32,22 +32,22 @@
32
32
  "@types/safer-buffer": "^2.1.3",
33
33
  "@types/uuid": "^9.0.8",
34
34
  "@types/ws": "^8.18.1",
35
- "@types/yargs": "^15",
35
+ "@types/yargs": "^17",
36
36
  "@vscode/codicons": "0.0.45",
37
- "ajv": "^6.14.0",
37
+ "ajv": "^6.15.0",
38
38
  "async-mutex": "^0.4.1",
39
- "body-parser": "^1.20.4",
39
+ "body-parser": "^1.20.5",
40
40
  "cookie": "^1.1.1",
41
- "dompurify": "^3.3.3",
41
+ "dompurify": "^3.4.2",
42
42
  "drivelist": "^12.0.2",
43
43
  "express": "^4.22.1",
44
44
  "fast-json-stable-stringify": "^2.1.0",
45
45
  "file-icons-js": "~1.0.3",
46
46
  "font-awesome": "^4.7.0",
47
- "fs-extra": "^4.0.2",
47
+ "fs-extra": "^4.0.3",
48
48
  "fuzzy": "^0.1.3",
49
49
  "http-proxy-agent": "^5.0.0",
50
- "https-proxy-agent": "^5.0.0",
50
+ "https-proxy-agent": "^5.0.1",
51
51
  "iconv-lite": "^0.6.3",
52
52
  "inversify": "^6.2.2",
53
53
  "jschardet": "^2.3.0",
@@ -57,7 +57,7 @@
57
57
  "markdown-it": "^14.1.1",
58
58
  "markdown-it-anchor": "^9.2.0",
59
59
  "markdown-it-emoji": "^3.0.0",
60
- "msgpackr": "^1.11.9",
60
+ "msgpackr": "^1.11.12",
61
61
  "p-debounce": "^2.1.0",
62
62
  "perfect-scrollbar": "1.5.5",
63
63
  "react": "^18.3.1",
@@ -69,12 +69,12 @@
69
69
  "safer-buffer": "^2.1.2",
70
70
  "socket.io": "^4.8.3",
71
71
  "socket.io-client": "^4.8.3",
72
- "tslib": "^2.6.2",
72
+ "tslib": "^2.8.1",
73
73
  "uuid": "^9.0.1",
74
74
  "vscode-languageserver-protocol": "3.17.5",
75
75
  "vscode-uri": "3.0.8",
76
76
  "ws": "^8.20.0",
77
- "yargs": "^15.3.1"
77
+ "yargs": "^17.7.2"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@theia/electron": "*"
@@ -215,11 +215,11 @@
215
215
  "devDependencies": {
216
216
  "@theia/ext-scripts": "1.71.0",
217
217
  "@theia/re-exports": "1.71.0",
218
- "minimist": "^1.2.0",
218
+ "minimist": "^1.2.8",
219
219
  "nodejs-file-downloader": "4.13.0"
220
220
  },
221
221
  "nyc": {
222
222
  "extends": "../../configs/nyc.json"
223
223
  },
224
- "gitHead": "b7e4c26e21017756fe8bc06e8e77998477da3443"
224
+ "gitHead": "726081b2aa03827611ba4a323da1a6aaf0e9a9b9"
225
225
  }
@@ -15,9 +15,11 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import '../../src/browser/style/index.css';
18
- require('../../src/browser/style/materialcolors.css').use();
18
+ import '../../src/browser/style/materialcolors.css';
19
+ import '@lumino/widgets/style/index.css';
19
20
  import 'font-awesome/css/font-awesome.min.css';
20
21
  import 'file-icons-js/css/style.css';
22
+ import 'perfect-scrollbar/css/perfect-scrollbar.css';
21
23
  import '@vscode/codicons/dist/codicon.css';
22
24
 
23
25
  import { ContainerModule } from 'inversify';
@@ -130,7 +132,7 @@ import { WindowTitleService } from './window/window-title-service';
130
132
  import { WindowTitleUpdater } from './window/window-title-updater';
131
133
  import { TheiaDockPanel } from './shell/theia-dock-panel';
132
134
  import { bindStatusBar } from './status-bar';
133
- import { MarkdownRenderer, MarkdownRendererFactory, MarkdownRendererImpl } from './markdown-rendering/markdown-renderer';
135
+ import { CoreMarkdownRenderer, MarkdownRenderer, MarkdownRendererFactory, MarkdownRendererImpl } from './markdown-rendering/markdown-renderer';
134
136
  import { StylingParticipant, StylingService } from './styling-service';
135
137
  import { bindCommonStylingParticipants } from './common-styling-participants';
136
138
  import { HoverService } from './hover-service';
@@ -318,7 +320,8 @@ export const frontendApplicationModule = new ContainerModule((bind, _unbind, _is
318
320
  return quickPickService;
319
321
  });
320
322
 
321
- bind(MarkdownRenderer).to(MarkdownRendererImpl).inSingletonScope();
323
+ bind(CoreMarkdownRenderer).to(MarkdownRendererImpl).inSingletonScope();
324
+ bind(MarkdownRenderer).toService(CoreMarkdownRenderer);
322
325
  bind(MarkdownRendererFactory).toFactory(({ container }) => () => container.get(MarkdownRenderer));
323
326
 
324
327
  bindRootContributionProvider(bind, QuickAccessContribution);
@@ -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 { MarkdownRenderer, MarkdownRendererFactory } from './markdown-rendering/markdown-renderer';
21
+ import { wireMarkdownLinkHandler } from './markdown-rendering/markdown-link-handler';
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
 
@@ -92,13 +94,12 @@ export class HoverService {
92
94
  protected static hostClassName = 'theia-hover';
93
95
  protected static styleSheetId = 'theia-hover-style';
94
96
  @inject(PreferenceService) protected readonly preferences: PreferenceService;
95
- @inject(MarkdownRendererFactory) protected readonly markdownRendererFactory: MarkdownRendererFactory;
96
97
 
97
- protected _markdownRenderer: MarkdownRenderer | undefined;
98
- protected get markdownRenderer(): MarkdownRenderer {
99
- this._markdownRenderer ||= this.markdownRendererFactory();
100
- return this._markdownRenderer;
101
- }
98
+ // Inject CoreMarkdownRenderer rather than the MarkdownRenderer symbol,
99
+ // which is rebound by Monaco to a renderer that strips code block content.
100
+ @inject(CoreMarkdownRenderer) protected readonly markdownRenderer: MarkdownRenderer;
101
+
102
+ @inject(OpenerService) protected readonly openerService: OpenerService;
102
103
 
103
104
  protected _hoverHost: HTMLElement | undefined;
104
105
  protected get hoverHost(): HTMLElement {
@@ -150,6 +151,7 @@ export class HoverService {
150
151
  this.disposeOnHide.push(renderedContent);
151
152
  host.appendChild(renderedContent.element);
152
153
  firstChild = renderedContent.element;
154
+ this.disposeOnHide.push(wireMarkdownLinkHandler(renderedContent.element, content, this.openerService));
153
155
  }
154
156
  // browsers might insert linebreaks when the hover appears at the edge of the window
155
157
  // resetting the position prevents that
@@ -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
+ }
@@ -57,6 +57,12 @@ export interface MarkdownRenderer {
57
57
  render(markdown: MarkdownString, options?: MarkdownRenderOptions, outElement?: HTMLElement): MarkdownRenderResult;
58
58
  }
59
59
 
60
+ /**
61
+ * Always resolves to the core {@link MarkdownRendererImpl} (markdown-it based),
62
+ * even when the {@link MarkdownRenderer} symbol has been rebound (e.g. by Monaco).
63
+ */
64
+ export const CoreMarkdownRenderer = Symbol('CoreMarkdownRenderer');
65
+
60
66
  /** Use this to avoid circular dependencies in the Shell */
61
67
  export const MarkdownRendererFactory = Symbol('MarkdownRendererFactory');
62
68
  export interface MarkdownRendererFactory {
@@ -29,6 +29,7 @@
29
29
  border: 1px solid var(--theia-editorHoverWidget-border);
30
30
  padding: var(--theia-ui-padding);
31
31
  max-width: var(--theia-hover-max-width);
32
+ overflow-wrap: break-word;
32
33
  user-select: text;
33
34
  --vscode-scmGraph-historyItemHoverAdditionsForeground: var(--theia-scmGraph-historyItemHoverAdditionsForeground);
34
35
  --vscode-scmGraph-historyItemHoverDeletionsForeground: var(--theia-scmGraph-historyItemHoverDeletionsForeground);