@theia/debug 1.77.0-next.6 → 1.77.0-next.63
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/breakpoint/breakpoint-manager.js +1 -1
- package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
- package/lib/browser/breakpoint/breakpoint-manager.spec.js +2 -1
- package/lib/browser/breakpoint/breakpoint-manager.spec.js.map +1 -1
- package/lib/browser/console/debug-console-contribution.d.ts +23 -1
- package/lib/browser/console/debug-console-contribution.d.ts.map +1 -1
- package/lib/browser/console/debug-console-contribution.js +47 -14
- package/lib/browser/console/debug-console-contribution.js.map +1 -1
- package/lib/browser/console/debug-console-contribution.spec.d.ts +2 -0
- package/lib/browser/console/debug-console-contribution.spec.d.ts.map +1 -0
- package/lib/browser/console/debug-console-contribution.spec.js +142 -0
- package/lib/browser/console/debug-console-contribution.spec.js.map +1 -0
- package/lib/browser/console/debug-console-items.d.ts +2 -3
- package/lib/browser/console/debug-console-items.d.ts.map +1 -1
- package/lib/browser/console/debug-console-items.js +27 -11
- package/lib/browser/console/debug-console-items.js.map +1 -1
- package/lib/browser/console/debug-console-session.d.ts +48 -3
- package/lib/browser/console/debug-console-session.d.ts.map +1 -1
- package/lib/browser/console/debug-console-session.js +92 -19
- package/lib/browser/console/debug-console-session.js.map +1 -1
- package/lib/browser/console/debug-console-session.spec.d.ts +2 -0
- package/lib/browser/console/debug-console-session.spec.d.ts.map +1 -0
- package/lib/browser/console/debug-console-session.spec.js +187 -0
- package/lib/browser/console/debug-console-session.spec.js.map +1 -0
- package/lib/browser/console/debug-copy-value.spec.d.ts +2 -0
- package/lib/browser/console/debug-copy-value.spec.d.ts.map +1 -0
- package/lib/browser/console/debug-copy-value.spec.js +123 -0
- package/lib/browser/console/debug-copy-value.spec.js.map +1 -0
- package/lib/browser/debug-configuration-manager.js +1 -1
- package/lib/browser/debug-configuration-manager.js.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.d.ts +5 -0
- package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.js +13 -3
- package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
- package/lib/browser/debug-package.spec.js +1 -0
- package/lib/browser/debug-package.spec.js.map +1 -1
- package/lib/browser/debug-prefix-configuration.js +1 -1
- package/lib/browser/debug-prefix-configuration.js.map +1 -1
- package/lib/browser/debug-schema-updater.js +1 -1
- package/lib/browser/debug-schema-updater.js.map +1 -1
- package/lib/browser/debug-session-configuration-label-provider.js +1 -1
- package/lib/browser/debug-session-configuration-label-provider.js.map +1 -1
- package/lib/browser/debug-session-connection.d.ts +6 -0
- package/lib/browser/debug-session-connection.d.ts.map +1 -1
- package/lib/browser/debug-session-connection.js +8 -0
- package/lib/browser/debug-session-connection.js.map +1 -1
- package/lib/browser/debug-session-manager.d.ts.map +1 -1
- package/lib/browser/debug-session-manager.js +6 -3
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session-options.js +1 -1
- package/lib/browser/debug-session-options.js.map +1 -1
- package/lib/browser/debug-session.d.ts.map +1 -1
- package/lib/browser/debug-session.js +7 -1
- package/lib/browser/debug-session.js.map +1 -1
- package/lib/browser/debug-watch-manager.d.ts +1 -1
- package/lib/browser/debug-watch-manager.d.ts.map +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.js +3 -3
- package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
- package/lib/browser/editor/debug-editor-model.js +2 -2
- package/lib/browser/editor/debug-editor-model.js.map +1 -1
- package/lib/browser/editor/debug-editor-service.js +1 -1
- package/lib/browser/editor/debug-editor-service.js.map +1 -1
- package/lib/browser/editor/debug-exception-widget.js +1 -1
- package/lib/browser/editor/debug-exception-widget.js.map +1 -1
- package/lib/browser/editor/debug-expression-provider.js +1 -1
- package/lib/browser/editor/debug-expression-provider.js.map +1 -1
- package/lib/browser/editor/debug-hover-widget.js +1 -1
- package/lib/browser/editor/debug-hover-widget.js.map +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
- package/lib/browser/model/debug-function-breakpoint.js +2 -1
- package/lib/browser/model/debug-function-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-instruction-breakpoint.js +2 -1
- package/lib/browser/model/debug-instruction-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-source-breakpoint.js +3 -2
- package/lib/browser/model/debug-source-breakpoint.js.map +1 -1
- package/lib/browser/model/debug-source.js +2 -1
- package/lib/browser/model/debug-source.js.map +1 -1
- package/lib/browser/model/debug-stack-frame.js +2 -1
- package/lib/browser/model/debug-stack-frame.js.map +1 -1
- package/lib/browser/view/debug-action.js +2 -1
- package/lib/browser/view/debug-action.js.map +1 -1
- package/lib/browser/view/debug-configuration-select.js +3 -2
- package/lib/browser/view/debug-configuration-select.js.map +1 -1
- package/lib/browser/view/debug-configuration-widget.js +1 -1
- package/lib/browser/view/debug-configuration-widget.js.map +1 -1
- package/lib/browser/view/debug-toolbar-widget.js +1 -1
- package/lib/browser/view/debug-toolbar-widget.js.map +1 -1
- package/lib/browser/view/debug-variables-widget.d.ts.map +1 -1
- package/lib/browser/view/debug-variables-widget.js +6 -0
- package/lib/browser/view/debug-variables-widget.js.map +1 -1
- package/lib/browser/view/debug-view-model.js +1 -1
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/browser/view/debug-watch-expression.d.ts +1 -3
- package/lib/browser/view/debug-watch-expression.d.ts.map +1 -1
- package/lib/browser/view/debug-watch-expression.js +4 -9
- package/lib/browser/view/debug-watch-expression.js.map +1 -1
- package/lib/common/debug-preferences.d.ts +1 -0
- package/lib/common/debug-preferences.d.ts.map +1 -1
- package/lib/common/debug-preferences.js +6 -0
- package/lib/common/debug-preferences.js.map +1 -1
- package/lib/node/debug-adapter-factory.js +1 -1
- package/lib/node/debug-adapter-factory.js.map +1 -1
- package/package.json +15 -15
- package/src/browser/console/debug-console-contribution.spec.ts +183 -0
- package/src/browser/console/debug-console-contribution.tsx +53 -14
- package/src/browser/console/debug-console-items.tsx +25 -11
- package/src/browser/console/debug-console-session.spec.ts +246 -0
- package/src/browser/console/debug-console-session.ts +102 -19
- package/src/browser/console/debug-copy-value.spec.ts +144 -0
- package/src/browser/debug-frontend-application-contribution.ts +12 -2
- package/src/browser/debug-session-connection.ts +9 -0
- package/src/browser/debug-session-manager.ts +5 -2
- package/src/browser/debug-session-options.ts +1 -1
- package/src/browser/debug-session.tsx +6 -0
- package/src/browser/view/debug-variables-widget.ts +6 -0
- package/src/browser/view/debug-watch-expression.tsx +4 -10
- package/src/common/debug-preferences.ts +7 -0
|
@@ -21,30 +21,58 @@ const tslib_1 = require("tslib");
|
|
|
21
21
|
const throttle = require("@theia/core/shared/lodash.throttle");
|
|
22
22
|
const console_session_1 = require("@theia/console/lib/browser/console-session");
|
|
23
23
|
const ansi_console_item_1 = require("@theia/console/lib/browser/ansi-console-item");
|
|
24
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
24
|
+
const uri_1 = tslib_1.__importDefault(require("@theia/core/lib/common/uri"));
|
|
25
|
+
const uuid_1 = require("@theia/core/lib/common/uuid");
|
|
25
26
|
const debug_console_items_1 = require("./debug-console-items");
|
|
26
27
|
const severity_1 = require("@theia/core/lib/common/severity");
|
|
27
28
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
28
29
|
const debug_session_manager_1 = require("../debug-session-manager");
|
|
29
|
-
const
|
|
30
|
+
const debug_preferences_1 = require("../../common/debug-preferences");
|
|
31
|
+
const monaco = tslib_1.__importStar(require("@theia/monaco-editor-core"));
|
|
30
32
|
const core_1 = require("@theia/core");
|
|
31
33
|
exports.DebugConsoleSessionFactory = Symbol('DebugConsoleSessionFactory');
|
|
32
34
|
let DebugConsoleSession = class DebugConsoleSession extends console_session_1.ConsoleSession {
|
|
33
35
|
constructor() {
|
|
34
36
|
super(...arguments);
|
|
37
|
+
/**
|
|
38
|
+
* The console has an identity of its own, independent of the sessions that run in it: it outlives the session it
|
|
39
|
+
* was created for and is reused by a later one.
|
|
40
|
+
*/
|
|
41
|
+
this.id = (0, uuid_1.generateUuid)();
|
|
35
42
|
this.items = [];
|
|
36
43
|
this._terminated = false;
|
|
44
|
+
this._label = '';
|
|
37
45
|
this.completionKinds = new Map();
|
|
38
46
|
this.fireDidChange = throttle(() => super.fireDidChange(), 50);
|
|
39
47
|
}
|
|
40
48
|
static { DebugConsoleSession_1 = this; }
|
|
41
49
|
static { this.uri = new uri_1.default().withScheme('debugconsole'); }
|
|
50
|
+
/**
|
|
51
|
+
* The debug session this console currently belongs to, or `undefined` once that session has terminated.
|
|
52
|
+
*
|
|
53
|
+
* The reference is dropped on termination so that the console does not keep the whole session graph alive
|
|
54
|
+
* while it preserves the output of that session.
|
|
55
|
+
*/
|
|
42
56
|
get debugSession() {
|
|
43
57
|
return this._debugSession;
|
|
44
58
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
/**
|
|
60
|
+
* The label of the session this console belongs to, retained after that session has terminated.
|
|
61
|
+
*/
|
|
62
|
+
get label() {
|
|
63
|
+
return this._label;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The name of the configuration this console was started for, used to match a restarted session to its console.
|
|
67
|
+
*/
|
|
68
|
+
get configurationName() {
|
|
69
|
+
return this._configurationName;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The workspace folder of the configuration this console was started for, if any.
|
|
73
|
+
*/
|
|
74
|
+
get workspaceFolderUri() {
|
|
75
|
+
return this._workspaceFolderUri;
|
|
48
76
|
}
|
|
49
77
|
get terminated() {
|
|
50
78
|
return this._terminated;
|
|
@@ -52,9 +80,38 @@ let DebugConsoleSession = class DebugConsoleSession extends console_session_1.Co
|
|
|
52
80
|
markTerminated() {
|
|
53
81
|
if (!this._terminated) {
|
|
54
82
|
this._terminated = true;
|
|
83
|
+
// Release the session: from here on the console only holds the output it has already collected.
|
|
84
|
+
this._debugSession = undefined;
|
|
55
85
|
this.fireDidChange();
|
|
56
86
|
}
|
|
57
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Whether the given session can take over this console: its session must have terminated and been started from the
|
|
90
|
+
* same configuration, which in a multi-root workspace includes the folder the configuration comes from.
|
|
91
|
+
*/
|
|
92
|
+
isReusableBy(session) {
|
|
93
|
+
return this._terminated
|
|
94
|
+
&& this._configurationName === session.configuration.name
|
|
95
|
+
&& this._workspaceFolderUri === session.options.workspaceFolderUri;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Runs the given session in this console, whether it is the session the console was created for or a later one
|
|
99
|
+
* reusing it. Counterpart of {@link markTerminated}.
|
|
100
|
+
*
|
|
101
|
+
* The output of any previous session is dropped: it belongs to that run, and keeping it would merge two runs into
|
|
102
|
+
* one view with no boundary between them. The filter and severity stay, since they are the view the user has set
|
|
103
|
+
* up for this configuration.
|
|
104
|
+
*/
|
|
105
|
+
startFor(session) {
|
|
106
|
+
this.items = [];
|
|
107
|
+
this.uncompletedItemContent = undefined;
|
|
108
|
+
this._debugSession = session;
|
|
109
|
+
this._label = session.label;
|
|
110
|
+
this._configurationName = session.configuration.name;
|
|
111
|
+
this._workspaceFolderUri = session.options.workspaceFolderUri;
|
|
112
|
+
this._terminated = false;
|
|
113
|
+
this.fireDidChange();
|
|
114
|
+
}
|
|
58
115
|
init() {
|
|
59
116
|
this.completionKinds.set('method', monaco.languages.CompletionItemKind.Method);
|
|
60
117
|
this.completionKinds.set('function', monaco.languages.CompletionItemKind.Function);
|
|
@@ -146,16 +203,17 @@ let DebugConsoleSession = class DebugConsoleSession extends console_session_1.Co
|
|
|
146
203
|
return undefined;
|
|
147
204
|
}
|
|
148
205
|
findCurrentSession() {
|
|
206
|
+
const debugSession = this._debugSession;
|
|
149
207
|
const currentSession = this.sessionManager.currentSession;
|
|
150
|
-
if (!currentSession) {
|
|
208
|
+
if (!debugSession || !currentSession) {
|
|
151
209
|
return undefined;
|
|
152
210
|
}
|
|
153
|
-
if (currentSession.id ===
|
|
211
|
+
if (currentSession.id === debugSession.id) {
|
|
154
212
|
// perfect match
|
|
155
|
-
return
|
|
213
|
+
return debugSession;
|
|
156
214
|
}
|
|
157
215
|
const parentSession = currentSession.findConsoleParent();
|
|
158
|
-
if (parentSession?.id ===
|
|
216
|
+
if (parentSession?.id === debugSession.id) {
|
|
159
217
|
// child of our session
|
|
160
218
|
return currentSession;
|
|
161
219
|
}
|
|
@@ -183,7 +241,7 @@ let DebugConsoleSession = class DebugConsoleSession extends console_session_1.Co
|
|
|
183
241
|
}
|
|
184
242
|
async execute(value) {
|
|
185
243
|
const expression = new debug_console_items_1.ExpressionItem(value, () => this.findCurrentSession());
|
|
186
|
-
this.
|
|
244
|
+
this.appendItems([expression]);
|
|
187
245
|
await expression.evaluate();
|
|
188
246
|
this.fireDidChange();
|
|
189
247
|
}
|
|
@@ -203,13 +261,25 @@ let DebugConsoleSession = class DebugConsoleSession extends console_session_1.Co
|
|
|
203
261
|
else {
|
|
204
262
|
this.uncompletedItemContent = value;
|
|
205
263
|
}
|
|
206
|
-
this.
|
|
264
|
+
this.appendItems([new ansi_console_item_1.AnsiConsoleItem(this.uncompletedItemContent, severity_1.Severity.Info)]);
|
|
207
265
|
this.fireDidChange();
|
|
208
266
|
}
|
|
209
267
|
appendLine(value) {
|
|
210
|
-
this.
|
|
268
|
+
this.appendItems([new ansi_console_item_1.AnsiConsoleItem(value, severity_1.Severity.Info)]);
|
|
211
269
|
this.fireDidChange();
|
|
212
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Appends items, dropping the oldest ones so that the console stays within `debug.console.maximumLines`.
|
|
273
|
+
*/
|
|
274
|
+
appendItems(items) {
|
|
275
|
+
for (const item of items) {
|
|
276
|
+
this.items.push(item);
|
|
277
|
+
}
|
|
278
|
+
const maximumLines = this.preferences['debug.console.maximumLines'];
|
|
279
|
+
if (maximumLines > 0 && this.items.length > maximumLines) {
|
|
280
|
+
this.items.splice(0, this.items.length - maximumLines);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
213
283
|
async logOutput(session, event) {
|
|
214
284
|
const body = event.body;
|
|
215
285
|
const { category, variablesReference } = body;
|
|
@@ -219,15 +289,14 @@ let DebugConsoleSession = class DebugConsoleSession extends console_session_1.Co
|
|
|
219
289
|
}
|
|
220
290
|
const severity = category === 'stderr' ? severity_1.Severity.Error : event.body.category === 'console' ? severity_1.Severity.Warning : severity_1.Severity.Info;
|
|
221
291
|
if (variablesReference) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
292
|
+
// Resolve the session by id rather than capturing it, so that the items do not keep it alive once it is gone.
|
|
293
|
+
const { id } = session;
|
|
294
|
+
const sessionProvider = () => this.sessionManager.getSession(id);
|
|
295
|
+
const items = await new debug_console_items_1.ExpressionContainer({ session: sessionProvider, variablesReference }).getElements();
|
|
296
|
+
this.appendItems(Array.from(items, item => Object.assign(item, { severity })));
|
|
226
297
|
}
|
|
227
298
|
else if (typeof body.output === 'string') {
|
|
228
|
-
|
|
229
|
-
this.items.push(new ansi_console_item_1.AnsiConsoleItem(line, severity));
|
|
230
|
-
}
|
|
299
|
+
this.appendItems(body.output.split('\n').map(line => new ansi_console_item_1.AnsiConsoleItem(line, severity)));
|
|
231
300
|
}
|
|
232
301
|
this.fireDidChange();
|
|
233
302
|
}
|
|
@@ -242,6 +311,10 @@ tslib_1.__decorate([
|
|
|
242
311
|
(0, inversify_1.named)('debug:DebugConsoleSession'),
|
|
243
312
|
tslib_1.__metadata("design:type", Object)
|
|
244
313
|
], DebugConsoleSession.prototype, "logger", void 0);
|
|
314
|
+
tslib_1.__decorate([
|
|
315
|
+
(0, inversify_1.inject)(debug_preferences_1.DebugPreferences),
|
|
316
|
+
tslib_1.__metadata("design:type", Object)
|
|
317
|
+
], DebugConsoleSession.prototype, "preferences", void 0);
|
|
245
318
|
tslib_1.__decorate([
|
|
246
319
|
(0, inversify_1.postConstruct)(),
|
|
247
320
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-console-session.js","sourceRoot":"","sources":["../../../src/browser/console/debug-console-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debug-console-session.js","sourceRoot":"","sources":["../../../src/browser/console/debug-console-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-console-session.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/console/debug-console-session.spec.ts"],"names":[],"mappings":"AAuBA,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
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 jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
let disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
21
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
22
|
+
require("reflect-metadata");
|
|
23
|
+
const chai_1 = require("chai");
|
|
24
|
+
const debug_console_session_1 = require("./debug-console-session");
|
|
25
|
+
disableJSDOM();
|
|
26
|
+
/**
|
|
27
|
+
* The variables the fake adapter answers with, so that an output event with a variables reference resolves to an
|
|
28
|
+
* expandable item, as it does when a program logs an object rather than a string.
|
|
29
|
+
*/
|
|
30
|
+
const VARIABLES = {
|
|
31
|
+
1: [{ name: 'logged', value: 'Object', variablesReference: 2 }],
|
|
32
|
+
2: [{ name: 'answer', value: '42', variablesReference: 0 }]
|
|
33
|
+
};
|
|
34
|
+
class TestDebugSessionManager {
|
|
35
|
+
constructor() {
|
|
36
|
+
this.sessions = new Map();
|
|
37
|
+
}
|
|
38
|
+
getSession(id) {
|
|
39
|
+
return this.sessions.get(id);
|
|
40
|
+
}
|
|
41
|
+
add(session) {
|
|
42
|
+
this.sessions.set(session.id, session);
|
|
43
|
+
this.currentSession = session;
|
|
44
|
+
}
|
|
45
|
+
/** Mirrors `DebugSessionManager.cleanup`, which drops the session before announcing its destruction. */
|
|
46
|
+
remove(id) {
|
|
47
|
+
this.sessions.delete(id);
|
|
48
|
+
if (this.currentSession?.id === id) {
|
|
49
|
+
this.currentSession = undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
describe('DebugConsoleSession', () => {
|
|
54
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
55
|
+
after(() => disableJSDOM());
|
|
56
|
+
let manager;
|
|
57
|
+
let consoleSession;
|
|
58
|
+
let maximumLines;
|
|
59
|
+
const createDebugSession = (id, configurationName, workspaceFolderUri) => ({
|
|
60
|
+
id,
|
|
61
|
+
label: configurationName,
|
|
62
|
+
configuration: { name: configurationName, type: 'node', request: 'launch' },
|
|
63
|
+
options: { workspaceFolderUri },
|
|
64
|
+
autoExpandLazyVariables: false,
|
|
65
|
+
sendRequest: async (_command, args) => ({
|
|
66
|
+
body: { variables: VARIABLES[args.variablesReference] ?? [] }
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
const outputEvent = (body) => ({ event: 'output', body: { category: 'stdout', ...body } });
|
|
70
|
+
const contentsOf = (session) => Array.from(session.getElements(), item => item.content ?? '');
|
|
71
|
+
beforeEach(() => {
|
|
72
|
+
manager = new TestDebugSessionManager();
|
|
73
|
+
maximumLines = 10000;
|
|
74
|
+
consoleSession = new debug_console_session_1.DebugConsoleSession();
|
|
75
|
+
// The class uses property injection, and `init()` only registers a Monaco completion provider.
|
|
76
|
+
Object.assign(consoleSession, {
|
|
77
|
+
sessionManager: manager,
|
|
78
|
+
logger: { debug: () => { } },
|
|
79
|
+
preferences: { get 'debug.console.maximumLines'() { return maximumLines; } }
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('when the session terminates', () => {
|
|
83
|
+
it('releases the session but keeps its output', async () => {
|
|
84
|
+
const session = createDebugSession('session-1', 'Launch Program');
|
|
85
|
+
manager.add(session);
|
|
86
|
+
consoleSession.startFor(session);
|
|
87
|
+
await consoleSession.logOutput(session, outputEvent({ output: 'hello' }));
|
|
88
|
+
(0, chai_1.expect)(consoleSession.debugSession).to.equal(session);
|
|
89
|
+
manager.remove(session.id);
|
|
90
|
+
consoleSession.markTerminated();
|
|
91
|
+
(0, chai_1.expect)(consoleSession.terminated).to.be.true;
|
|
92
|
+
(0, chai_1.expect)(consoleSession.debugSession).to.be.undefined;
|
|
93
|
+
(0, chai_1.expect)(contentsOf(consoleSession)).to.deep.equal(['hello']);
|
|
94
|
+
});
|
|
95
|
+
it('keeps the label and the configuration of the released session', () => {
|
|
96
|
+
const session = createDebugSession('session-1', 'Launch Program');
|
|
97
|
+
manager.add(session);
|
|
98
|
+
consoleSession.startFor(session);
|
|
99
|
+
manager.remove(session.id);
|
|
100
|
+
consoleSession.markTerminated();
|
|
101
|
+
(0, chai_1.expect)(consoleSession.label).to.equal('Launch Program');
|
|
102
|
+
(0, chai_1.expect)(consoleSession.configurationName).to.equal('Launch Program');
|
|
103
|
+
});
|
|
104
|
+
it('keeps what was expanded while the session ran', async () => {
|
|
105
|
+
const session = createDebugSession('session-1', 'Launch Program');
|
|
106
|
+
manager.add(session);
|
|
107
|
+
consoleSession.startFor(session);
|
|
108
|
+
// An output event carrying a variables reference, as sent for a logged object, yields expandable items
|
|
109
|
+
// that resolve their children through the session.
|
|
110
|
+
await consoleSession.logOutput(session, outputEvent({ variablesReference: 1 }));
|
|
111
|
+
const [logged] = Array.from(consoleSession.getElements());
|
|
112
|
+
(0, chai_1.expect)(Array.from(await logged.getElements())).to.have.lengthOf(1, 'expandable while the session runs');
|
|
113
|
+
manager.remove(session.id);
|
|
114
|
+
consoleSession.markTerminated();
|
|
115
|
+
(0, chai_1.expect)(Array.from(consoleSession.getElements())).to.have.lengthOf(1, 'output is preserved');
|
|
116
|
+
(0, chai_1.expect)(Array.from(await logged.getElements())).to.have.lengthOf(1, 'expanded children are preserved');
|
|
117
|
+
});
|
|
118
|
+
it('does not retain the session through the items it logged', async () => {
|
|
119
|
+
const session = createDebugSession('session-1', 'Launch Program');
|
|
120
|
+
manager.add(session);
|
|
121
|
+
consoleSession.startFor(session);
|
|
122
|
+
await consoleSession.logOutput(session, outputEvent({ variablesReference: 1 }));
|
|
123
|
+
const [logged] = Array.from(consoleSession.getElements());
|
|
124
|
+
manager.remove(session.id);
|
|
125
|
+
consoleSession.markTerminated();
|
|
126
|
+
// Nothing was expanded before the session ended, so there is nothing cached to fall back on. The item
|
|
127
|
+
// resolves its session by id through the manager, which has dropped it, rather than holding on to it,
|
|
128
|
+
// so it has nothing left to ask.
|
|
129
|
+
(0, chai_1.expect)(Array.from(await logged.getElements())).to.be.empty;
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('when a session reuses the console', () => {
|
|
133
|
+
it('drops the output of the previous run and runs the new session', async () => {
|
|
134
|
+
const first = createDebugSession('session-1', 'Launch Program');
|
|
135
|
+
manager.add(first);
|
|
136
|
+
consoleSession.startFor(first);
|
|
137
|
+
await consoleSession.logOutput(first, outputEvent({ output: 'first run' }));
|
|
138
|
+
manager.remove(first.id);
|
|
139
|
+
consoleSession.markTerminated();
|
|
140
|
+
const second = createDebugSession('session-2', 'Launch Program');
|
|
141
|
+
manager.add(second);
|
|
142
|
+
consoleSession.startFor(second);
|
|
143
|
+
(0, chai_1.expect)(consoleSession.terminated).to.be.false;
|
|
144
|
+
(0, chai_1.expect)(consoleSession.debugSession).to.equal(second);
|
|
145
|
+
(0, chai_1.expect)(contentsOf(consoleSession)).to.be.empty;
|
|
146
|
+
await consoleSession.logOutput(second, outputEvent({ output: 'second run' }));
|
|
147
|
+
(0, chai_1.expect)(contentsOf(consoleSession)).to.deep.equal(['second run']);
|
|
148
|
+
});
|
|
149
|
+
it('is reusable only by a session of the same configuration once terminated', () => {
|
|
150
|
+
consoleSession.startFor(createDebugSession('session-1', 'Launch Program'));
|
|
151
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Launch Program'))).to.be.false;
|
|
152
|
+
consoleSession.markTerminated();
|
|
153
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Launch Program'))).to.be.true;
|
|
154
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Attach'))).to.be.false;
|
|
155
|
+
});
|
|
156
|
+
it('is not reusable by a configuration of the same name from another workspace folder', () => {
|
|
157
|
+
consoleSession.startFor(createDebugSession('session-1', 'Launch Program', 'file:///a'));
|
|
158
|
+
consoleSession.markTerminated();
|
|
159
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Launch Program', 'file:///b'))).to.be.false;
|
|
160
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Launch Program'))).to.be.false;
|
|
161
|
+
(0, chai_1.expect)(consoleSession.isReusableBy(createDebugSession('session-2', 'Launch Program', 'file:///a'))).to.be.true;
|
|
162
|
+
});
|
|
163
|
+
it('keeps the id it was created with, so that it is not the id of either session', () => {
|
|
164
|
+
const first = createDebugSession('session-1', 'Launch Program');
|
|
165
|
+
consoleSession.startFor(first);
|
|
166
|
+
const id = consoleSession.id;
|
|
167
|
+
consoleSession.markTerminated();
|
|
168
|
+
consoleSession.startFor(createDebugSession('session-2', 'Launch Program'));
|
|
169
|
+
(0, chai_1.expect)(consoleSession.id).to.equal(id);
|
|
170
|
+
(0, chai_1.expect)(consoleSession.id).to.not.equal('session-1');
|
|
171
|
+
(0, chai_1.expect)(consoleSession.id).to.not.equal('session-2');
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
describe('output limit', () => {
|
|
175
|
+
it('drops the oldest lines beyond `debug.console.maximumLines`', async () => {
|
|
176
|
+
maximumLines = 3;
|
|
177
|
+
const session = createDebugSession('session-1', 'Launch Program');
|
|
178
|
+
manager.add(session);
|
|
179
|
+
consoleSession.startFor(session);
|
|
180
|
+
await consoleSession.logOutput(session, outputEvent({ output: 'one\ntwo\nthree\nfour' }));
|
|
181
|
+
(0, chai_1.expect)(contentsOf(consoleSession)).to.deep.equal(['two', 'three', 'four']);
|
|
182
|
+
consoleSession.appendLine('five');
|
|
183
|
+
(0, chai_1.expect)(contentsOf(consoleSession)).to.deep.equal(['three', 'four', 'five']);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=debug-console-session.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-console-session.spec.js","sourceRoot":"","sources":["../../../src/browser/console/debug-console-session.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-copy-value.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/console/debug-copy-value.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 Karthik Harikrishnan 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
|
+
// http://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 frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
19
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
20
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
21
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
22
|
+
const chai_1 = require("chai");
|
|
23
|
+
const debug_watch_expression_1 = require("../view/debug-watch-expression");
|
|
24
|
+
const debug_console_items_1 = require("./debug-console-items");
|
|
25
|
+
disableJSDOM();
|
|
26
|
+
class TestDebugWatchExpression extends debug_watch_expression_1.DebugWatchExpression {
|
|
27
|
+
setValue(value) {
|
|
28
|
+
this._value = value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function createVariable(session, overrides = { evaluateName: 'object.value' }) {
|
|
32
|
+
const sessionProvider = () => session;
|
|
33
|
+
const parent = new debug_console_items_1.ExpressionContainer({ session: sessionProvider, id: 'parent' });
|
|
34
|
+
const variable = {
|
|
35
|
+
name: 'value',
|
|
36
|
+
value: 'truncated',
|
|
37
|
+
variablesReference: 0,
|
|
38
|
+
...overrides
|
|
39
|
+
};
|
|
40
|
+
return new debug_console_items_1.DebugVariable(sessionProvider, variable, parent);
|
|
41
|
+
}
|
|
42
|
+
function createWatchExpression(session) {
|
|
43
|
+
const watchExpression = new TestDebugWatchExpression({
|
|
44
|
+
id: 1,
|
|
45
|
+
expression: 'object.value',
|
|
46
|
+
session: () => session,
|
|
47
|
+
remove: () => undefined,
|
|
48
|
+
onDidChange: () => undefined
|
|
49
|
+
});
|
|
50
|
+
watchExpression.setValue('truncated');
|
|
51
|
+
return watchExpression;
|
|
52
|
+
}
|
|
53
|
+
describe('Debugger Copy Value', () => {
|
|
54
|
+
it('evaluates a variable using the clipboard context when supported', async () => {
|
|
55
|
+
const evaluations = [];
|
|
56
|
+
const session = {
|
|
57
|
+
capabilities: { supportsClipboardContext: true },
|
|
58
|
+
evaluate: async (expression, context) => {
|
|
59
|
+
evaluations.push({ expression, context });
|
|
60
|
+
return { result: 'full value', variablesReference: 0 };
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const value = await createVariable(session).getValueToCopy();
|
|
64
|
+
(0, chai_1.expect)(evaluations).to.deep.equal([{ expression: 'object.value', context: 'clipboard' }]);
|
|
65
|
+
(0, chai_1.expect)(value).to.equal('full value');
|
|
66
|
+
});
|
|
67
|
+
it('uses the variables context when the clipboard context is unsupported', async () => {
|
|
68
|
+
const evaluations = [];
|
|
69
|
+
const session = {
|
|
70
|
+
capabilities: {},
|
|
71
|
+
evaluate: async (expression, context) => {
|
|
72
|
+
evaluations.push({ expression, context });
|
|
73
|
+
return { result: 'full value', variablesReference: 0 };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const value = await createVariable(session).getValueToCopy();
|
|
77
|
+
(0, chai_1.expect)(evaluations).to.deep.equal([{ expression: 'object.value', context: 'variables' }]);
|
|
78
|
+
(0, chai_1.expect)(value).to.equal('full value');
|
|
79
|
+
});
|
|
80
|
+
it('copies the rendered variable value when evaluateName is unavailable', async () => {
|
|
81
|
+
let evaluated = false;
|
|
82
|
+
const session = {
|
|
83
|
+
capabilities: { supportsClipboardContext: true },
|
|
84
|
+
evaluate: async () => {
|
|
85
|
+
evaluated = true;
|
|
86
|
+
return { result: 'full value', variablesReference: 0 };
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const value = await createVariable(session, { evaluateName: undefined }).getValueToCopy();
|
|
90
|
+
(0, chai_1.expect)(evaluated).to.be.false;
|
|
91
|
+
(0, chai_1.expect)(value).to.equal('truncated');
|
|
92
|
+
});
|
|
93
|
+
it('copies the rendered variable value when evaluation fails', async () => {
|
|
94
|
+
const session = {
|
|
95
|
+
capabilities: { supportsClipboardContext: true },
|
|
96
|
+
evaluate: async () => { throw new Error('evaluation failed'); }
|
|
97
|
+
};
|
|
98
|
+
const value = await createVariable(session).getValueToCopy();
|
|
99
|
+
(0, chai_1.expect)(value).to.equal('truncated');
|
|
100
|
+
});
|
|
101
|
+
it('evaluates a watch expression using the watch context', async () => {
|
|
102
|
+
const evaluations = [];
|
|
103
|
+
const session = {
|
|
104
|
+
capabilities: {},
|
|
105
|
+
evaluate: async (expression, context) => {
|
|
106
|
+
evaluations.push({ expression, context });
|
|
107
|
+
return { result: 'full value', variablesReference: 0 };
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const value = await createWatchExpression(session).getValueToCopy();
|
|
111
|
+
(0, chai_1.expect)(evaluations).to.deep.equal([{ expression: 'object.value', context: 'watch' }]);
|
|
112
|
+
(0, chai_1.expect)(value).to.equal('full value');
|
|
113
|
+
});
|
|
114
|
+
it('copies the rendered watch value when evaluation fails', async () => {
|
|
115
|
+
const session = {
|
|
116
|
+
capabilities: { supportsClipboardContext: true },
|
|
117
|
+
evaluate: async () => { throw new Error('evaluation failed'); }
|
|
118
|
+
};
|
|
119
|
+
const value = await createWatchExpression(session).getValueToCopy();
|
|
120
|
+
(0, chai_1.expect)(value).to.equal('truncated');
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=debug-copy-value.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-copy-value.spec.js","sourceRoot":"","sources":["../../../src/browser/console/debug-copy-value.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const tslib_1 = require("tslib");
|
|
|
24
24
|
const debounce = require("p-debounce");
|
|
25
25
|
const jsonc_parser_1 = require("jsonc-parser");
|
|
26
26
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
27
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
27
|
+
const uri_1 = tslib_1.__importDefault(require("@theia/core/lib/common/uri"));
|
|
28
28
|
const event_1 = require("@theia/core/lib/common/event");
|
|
29
29
|
const browser_1 = require("@theia/editor/lib/browser");
|
|
30
30
|
const monaco_editor_1 = require("@theia/monaco/lib/browser/monaco-editor");
|