@theia/debug 1.45.0 → 1.46.0-next.72
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/README.md +62 -62
- package/lib/browser/breakpoint/breakpoint-manager.d.ts +70 -70
- package/lib/browser/breakpoint/breakpoint-manager.js +328 -328
- package/lib/browser/breakpoint/breakpoint-marker.d.ts +41 -41
- package/lib/browser/breakpoint/breakpoint-marker.js +87 -87
- package/lib/browser/console/debug-console-contribution.d.ts +40 -40
- package/lib/browser/console/debug-console-contribution.js +231 -231
- package/lib/browser/console/debug-console-items.d.ts +93 -93
- package/lib/browser/console/debug-console-items.js +319 -319
- package/lib/browser/console/debug-console-session.d.ts +31 -31
- package/lib/browser/console/debug-console-session.js +199 -199
- package/lib/browser/debug-call-stack-item-type-key.d.ts +3 -3
- package/lib/browser/debug-call-stack-item-type-key.js +19 -19
- package/lib/browser/debug-configuration-manager.d.ts +102 -102
- package/lib/browser/debug-configuration-manager.js +552 -552
- package/lib/browser/debug-configuration-model.d.ts +29 -29
- package/lib/browser/debug-configuration-model.js +79 -79
- package/lib/browser/debug-contribution.d.ts +22 -22
- package/lib/browser/debug-contribution.js +19 -19
- package/lib/browser/debug-frontend-application-contribution.d.ts +222 -222
- package/lib/browser/debug-frontend-application-contribution.js +1404 -1404
- package/lib/browser/debug-frontend-module.d.ts +4 -4
- package/lib/browser/debug-frontend-module.d.ts.map +1 -1
- package/lib/browser/debug-frontend-module.js +105 -104
- package/lib/browser/debug-frontend-module.js.map +1 -1
- package/lib/browser/debug-package.spec.js +18 -18
- package/lib/browser/debug-preferences.d.ts +17 -17
- package/lib/browser/debug-preferences.js +89 -89
- package/lib/browser/debug-prefix-configuration.d.ts +51 -51
- package/lib/browser/debug-prefix-configuration.js +208 -208
- package/lib/browser/debug-resource.d.ts +14 -14
- package/lib/browser/debug-resource.js +65 -65
- package/lib/browser/debug-schema-updater.d.ts +15 -15
- package/lib/browser/debug-schema-updater.js +168 -168
- package/lib/browser/debug-session-connection.d.ts +110 -110
- package/lib/browser/debug-session-connection.js +258 -258
- package/lib/browser/debug-session-contribution.d.ts +73 -73
- package/lib/browser/debug-session-contribution.js +145 -145
- package/lib/browser/debug-session-manager.d.ts +137 -137
- package/lib/browser/debug-session-manager.js +599 -599
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session-options.d.ts +48 -48
- package/lib/browser/debug-session-options.js +85 -85
- package/lib/browser/debug-session.d.ts +178 -178
- package/lib/browser/debug-session.js +871 -871
- package/lib/browser/debug-tab-bar-decorator.d.ts +16 -16
- package/lib/browser/debug-tab-bar-decorator.js +70 -70
- package/lib/browser/debug-watch-manager.d.ts +21 -21
- package/lib/browser/debug-watch-manager.js +93 -93
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.d.ts +6 -6
- package/lib/browser/disassembly-view/disassembly-view-accessibility-provider.js +38 -38
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.d.ts +19 -19
- package/lib/browser/disassembly-view/disassembly-view-breakpoint-renderer.js +110 -110
- package/lib/browser/disassembly-view/disassembly-view-contribution.d.ts +24 -24
- package/lib/browser/disassembly-view/disassembly-view-contribution.js +131 -131
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.d.ts +38 -38
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js +222 -222
- package/lib/browser/disassembly-view/disassembly-view-instruction-renderer.js.map +1 -1
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.d.ts +15 -15
- package/lib/browser/disassembly-view/disassembly-view-table-delegate.js +38 -38
- package/lib/browser/disassembly-view/disassembly-view-utilities.d.ts +37 -37
- package/lib/browser/disassembly-view/disassembly-view-utilities.js +17 -17
- package/lib/browser/disassembly-view/disassembly-view-widget.d.ts +60 -60
- package/lib/browser/disassembly-view/disassembly-view-widget.js +453 -452
- package/lib/browser/disassembly-view/disassembly-view-widget.js.map +1 -1
- package/lib/browser/editor/debug-breakpoint-widget.d.ts +53 -53
- package/lib/browser/editor/debug-breakpoint-widget.js +261 -261
- package/lib/browser/editor/debug-editor-model.d.ts +91 -93
- package/lib/browser/editor/debug-editor-model.d.ts.map +1 -1
- package/lib/browser/editor/debug-editor-model.js +515 -516
- package/lib/browser/editor/debug-editor-model.js.map +1 -1
- package/lib/browser/editor/debug-editor-service.d.ts +35 -35
- package/lib/browser/editor/debug-editor-service.js +202 -202
- package/lib/browser/editor/debug-editor.d.ts +3 -3
- package/lib/browser/editor/debug-editor.js +19 -19
- package/lib/browser/editor/debug-exception-widget.d.ts +29 -29
- package/lib/browser/editor/debug-exception-widget.js +114 -114
- package/lib/browser/editor/debug-expression-provider.d.ts +11 -11
- package/lib/browser/editor/debug-expression-provider.js +81 -81
- package/lib/browser/editor/debug-hover-source.d.ts +18 -18
- package/lib/browser/editor/debug-hover-source.js +117 -117
- package/lib/browser/editor/debug-hover-widget.d.ts +47 -47
- package/lib/browser/editor/debug-hover-widget.js +276 -276
- package/lib/browser/editor/debug-inline-value-decorator.d.ts +19 -21
- package/lib/browser/editor/debug-inline-value-decorator.d.ts.map +1 -1
- package/lib/browser/editor/debug-inline-value-decorator.js +333 -337
- package/lib/browser/editor/debug-inline-value-decorator.js.map +1 -1
- package/lib/browser/model/debug-breakpoint.d.ts +47 -47
- package/lib/browser/model/debug-breakpoint.js +109 -109
- package/lib/browser/model/debug-function-breakpoint.d.ts +18 -18
- package/lib/browser/model/debug-function-breakpoint.js +92 -92
- package/lib/browser/model/debug-instruction-breakpoint.d.ts +14 -14
- package/lib/browser/model/debug-instruction-breakpoint.js +65 -65
- package/lib/browser/model/debug-source-breakpoint.d.ts +37 -37
- package/lib/browser/model/debug-source-breakpoint.js +217 -217
- package/lib/browser/model/debug-source.d.ts +24 -24
- package/lib/browser/model/debug-source.js +80 -80
- package/lib/browser/model/debug-stack-frame.d.ts +41 -41
- package/lib/browser/model/debug-stack-frame.js +150 -150
- package/lib/browser/model/debug-thread.d.ts +62 -62
- package/lib/browser/model/debug-thread.js +237 -237
- package/lib/browser/preferences/launch-preferences.d.ts +4 -4
- package/lib/browser/preferences/launch-preferences.js +38 -38
- package/lib/browser/view/debug-action.d.ts +16 -16
- package/lib/browser/view/debug-action.js +43 -43
- package/lib/browser/view/debug-breakpoints-source.d.ts +9 -9
- package/lib/browser/view/debug-breakpoints-source.js +70 -70
- package/lib/browser/view/debug-breakpoints-widget.d.ts +22 -22
- package/lib/browser/view/debug-breakpoints-widget.js +87 -87
- package/lib/browser/view/debug-configuration-select.d.ts +64 -64
- package/lib/browser/view/debug-configuration-select.js +216 -216
- package/lib/browser/view/debug-configuration-widget.d.ts +30 -30
- package/lib/browser/view/debug-configuration-widget.js +135 -135
- package/lib/browser/view/debug-exception-breakpoint.d.ts +14 -14
- package/lib/browser/view/debug-exception-breakpoint.js +61 -61
- package/lib/browser/view/debug-session-widget.d.ts +28 -28
- package/lib/browser/view/debug-session-widget.js +134 -134
- package/lib/browser/view/debug-stack-frames-source.d.ts +17 -17
- package/lib/browser/view/debug-stack-frames-source.js +89 -89
- package/lib/browser/view/debug-stack-frames-widget.d.ts +24 -24
- package/lib/browser/view/debug-stack-frames-widget.js +154 -154
- package/lib/browser/view/debug-threads-source.d.ts +8 -8
- package/lib/browser/view/debug-threads-source.js +63 -63
- package/lib/browser/view/debug-threads-widget.d.ts +26 -26
- package/lib/browser/view/debug-threads-widget.js +145 -145
- package/lib/browser/view/debug-toolbar-widget.d.ts +34 -34
- package/lib/browser/view/debug-toolbar-widget.js +156 -156
- package/lib/browser/view/debug-variables-source.d.ts +9 -9
- package/lib/browser/view/debug-variables-source.js +60 -60
- package/lib/browser/view/debug-variables-widget.d.ts +16 -16
- package/lib/browser/view/debug-variables-widget.js +78 -78
- package/lib/browser/view/debug-view-model.d.ts +51 -51
- package/lib/browser/view/debug-view-model.js +220 -220
- package/lib/browser/view/debug-watch-expression.d.ts +30 -30
- package/lib/browser/view/debug-watch-expression.js +73 -73
- package/lib/browser/view/debug-watch-source.d.ts +9 -9
- package/lib/browser/view/debug-watch-source.js +58 -58
- package/lib/browser/view/debug-watch-widget.d.ts +16 -16
- package/lib/browser/view/debug-watch-widget.js +78 -78
- package/lib/browser/view/debug-widget.d.ts +23 -23
- package/lib/browser/view/debug-widget.js +108 -108
- package/lib/common/debug-adapter-contribution-registry.d.ts +59 -59
- package/lib/common/debug-adapter-contribution-registry.js +212 -212
- package/lib/common/debug-adapter-session.d.ts +18 -18
- package/lib/common/debug-adapter-session.js +78 -78
- package/lib/common/debug-common.d.ts +1 -1
- package/lib/common/debug-common.js +29 -29
- package/lib/common/debug-compound.d.ts +14 -14
- package/lib/common/debug-compound.js +27 -27
- package/lib/common/debug-configuration.d.ts +70 -70
- package/lib/common/debug-configuration.js +31 -31
- package/lib/common/debug-model.d.ts +152 -152
- package/lib/common/debug-model.js +35 -35
- package/lib/common/debug-service.d.ts +123 -123
- package/lib/common/debug-service.js +66 -66
- package/lib/common/debug-uri-utils.d.ts +23 -23
- package/lib/common/debug-uri-utils.js +26 -26
- package/lib/common/inline-debug-adapter.d.ts +18 -18
- package/lib/common/inline-debug-adapter.js +44 -44
- package/lib/node/debug-adapter-factory.d.ts +19 -19
- package/lib/node/debug-adapter-factory.js +96 -96
- package/lib/node/debug-adapter-session-manager.d.ts +37 -37
- package/lib/node/debug-adapter-session-manager.js +111 -111
- package/lib/node/debug-backend-module.d.ts +3 -3
- package/lib/node/debug-backend-module.js +41 -41
- package/lib/node/debug-service-impl.d.ts +30 -30
- package/lib/node/debug-service-impl.js +124 -124
- package/lib/node/stream-debug-adapter.d.ts +36 -36
- package/lib/node/stream-debug-adapter.js +112 -112
- package/package.json +16 -16
- package/src/browser/breakpoint/breakpoint-manager.ts +369 -369
- package/src/browser/breakpoint/breakpoint-marker.ts +104 -104
- package/src/browser/console/debug-console-contribution.tsx +240 -240
- package/src/browser/console/debug-console-items.tsx +384 -384
- package/src/browser/console/debug-console-session.ts +205 -205
- package/src/browser/debug-call-stack-item-type-key.ts +20 -20
- package/src/browser/debug-configuration-manager.ts +591 -591
- package/src/browser/debug-configuration-model.ts +100 -100
- package/src/browser/debug-contribution.ts +43 -43
- package/src/browser/debug-frontend-application-contribution.ts +1551 -1551
- package/src/browser/debug-frontend-module.ts +133 -132
- package/src/browser/debug-package.spec.ts +20 -20
- package/src/browser/debug-preferences.ts +98 -98
- package/src/browser/debug-prefix-configuration.ts +195 -195
- package/src/browser/debug-resource.ts +59 -59
- package/src/browser/debug-schema-updater.ts +149 -149
- package/src/browser/debug-session-connection.ts +357 -357
- package/src/browser/debug-session-contribution.ts +150 -150
- package/src/browser/debug-session-manager.ts +682 -682
- package/src/browser/debug-session-options.ts +114 -114
- package/src/browser/debug-session.tsx +947 -947
- package/src/browser/debug-tab-bar-decorator.ts +57 -57
- package/src/browser/debug-watch-manager.ts +93 -93
- package/src/browser/disassembly-view/disassembly-view-accessibility-provider.ts +43 -43
- package/src/browser/disassembly-view/disassembly-view-breakpoint-renderer.ts +119 -119
- package/src/browser/disassembly-view/disassembly-view-contribution.ts +109 -109
- package/src/browser/disassembly-view/disassembly-view-instruction-renderer.ts +245 -245
- package/src/browser/disassembly-view/disassembly-view-table-delegate.ts +39 -39
- package/src/browser/disassembly-view/disassembly-view-utilities.ts +55 -55
- package/src/browser/disassembly-view/disassembly-view-widget.ts +463 -463
- package/src/browser/editor/debug-breakpoint-widget.tsx +293 -293
- package/src/browser/editor/debug-editor-model.ts +529 -528
- package/src/browser/editor/debug-editor-service.ts +192 -192
- package/src/browser/editor/debug-editor.ts +20 -20
- package/src/browser/editor/debug-exception-widget.tsx +122 -122
- package/src/browser/editor/debug-expression-provider.ts +78 -78
- package/src/browser/editor/debug-hover-source.tsx +105 -105
- package/src/browser/editor/debug-hover-widget.ts +298 -298
- package/src/browser/editor/debug-inline-value-decorator.ts +373 -377
- package/src/browser/model/debug-breakpoint.tsx +151 -151
- package/src/browser/model/debug-function-breakpoint.tsx +101 -101
- package/src/browser/model/debug-instruction-breakpoint.tsx +68 -68
- package/src/browser/model/debug-source-breakpoint.tsx +237 -237
- package/src/browser/model/debug-source.ts +93 -93
- package/src/browser/model/debug-stack-frame.tsx +170 -170
- package/src/browser/model/debug-thread.tsx +285 -285
- package/src/browser/preferences/launch-preferences.ts +38 -38
- package/src/browser/style/index.css +453 -453
- package/src/browser/view/debug-action.tsx +57 -57
- package/src/browser/view/debug-breakpoints-source.tsx +53 -53
- package/src/browser/view/debug-breakpoints-widget.ts +71 -71
- package/src/browser/view/debug-configuration-select.tsx +269 -269
- package/src/browser/view/debug-configuration-widget.tsx +121 -121
- package/src/browser/view/debug-exception-breakpoint.tsx +68 -68
- package/src/browser/view/debug-session-widget.ts +124 -124
- package/src/browser/view/debug-stack-frames-source.tsx +75 -75
- package/src/browser/view/debug-stack-frames-widget.ts +135 -135
- package/src/browser/view/debug-threads-source.tsx +48 -48
- package/src/browser/view/debug-threads-widget.ts +125 -125
- package/src/browser/view/debug-toolbar-widget.tsx +145 -145
- package/src/browser/view/debug-variables-source.ts +43 -43
- package/src/browser/view/debug-variables-widget.ts +61 -61
- package/src/browser/view/debug-view-model.ts +230 -230
- package/src/browser/view/debug-watch-expression.tsx +88 -88
- package/src/browser/view/debug-watch-source.ts +41 -41
- package/src/browser/view/debug-watch-widget.ts +61 -61
- package/src/browser/view/debug-widget.ts +97 -97
- package/src/common/debug-adapter-contribution-registry.ts +206 -206
- package/src/common/debug-adapter-session.ts +102 -102
- package/src/common/debug-common.ts +19 -19
- package/src/common/debug-compound.ts +33 -33
- package/src/common/debug-configuration.ts +108 -108
- package/src/common/debug-model.ts +200 -200
- package/src/common/debug-service.ts +184 -184
- package/src/common/debug-uri-utils.ts +24 -24
- package/src/common/inline-debug-adapter.ts +47 -47
- package/src/node/debug-adapter-factory.ts +107 -107
- package/src/node/debug-adapter-session-manager.ts +106 -106
- package/src/node/debug-backend-module.ts +57 -57
- package/src/node/debug-service-impl.ts +119 -119
- package/src/node/stream-debug-adapter.ts +126 -126
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { LabelProvider } from '@theia/core/lib/browser';
|
|
2
|
-
import { EditorManager, EditorOpenerOptions, EditorWidget } from '@theia/editor/lib/browser';
|
|
3
|
-
import URI from '@theia/core/lib/common/uri';
|
|
4
|
-
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
5
|
-
import { DebugSession } from '../debug-session';
|
|
6
|
-
export declare class DebugSourceData {
|
|
7
|
-
readonly raw: DebugProtocol.Source;
|
|
8
|
-
}
|
|
9
|
-
export declare class DebugSource extends DebugSourceData {
|
|
10
|
-
protected readonly session: DebugSession;
|
|
11
|
-
protected readonly editorManager: EditorManager;
|
|
12
|
-
protected readonly labelProvider: LabelProvider;
|
|
13
|
-
constructor(session: DebugSession, editorManager: EditorManager, labelProvider: LabelProvider);
|
|
14
|
-
get uri(): URI;
|
|
15
|
-
update(data: Partial<DebugSourceData>): void;
|
|
16
|
-
open(options?: EditorOpenerOptions): Promise<EditorWidget>;
|
|
17
|
-
load(): Promise<string>;
|
|
18
|
-
get inMemory(): boolean;
|
|
19
|
-
get name(): string;
|
|
20
|
-
get longName(): string;
|
|
21
|
-
static SCHEME: string;
|
|
22
|
-
static SCHEME_PATTERN: RegExp;
|
|
23
|
-
static toUri(raw: DebugProtocol.Source): URI;
|
|
24
|
-
}
|
|
1
|
+
import { LabelProvider } from '@theia/core/lib/browser';
|
|
2
|
+
import { EditorManager, EditorOpenerOptions, EditorWidget } from '@theia/editor/lib/browser';
|
|
3
|
+
import URI from '@theia/core/lib/common/uri';
|
|
4
|
+
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
5
|
+
import { DebugSession } from '../debug-session';
|
|
6
|
+
export declare class DebugSourceData {
|
|
7
|
+
readonly raw: DebugProtocol.Source;
|
|
8
|
+
}
|
|
9
|
+
export declare class DebugSource extends DebugSourceData {
|
|
10
|
+
protected readonly session: DebugSession;
|
|
11
|
+
protected readonly editorManager: EditorManager;
|
|
12
|
+
protected readonly labelProvider: LabelProvider;
|
|
13
|
+
constructor(session: DebugSession, editorManager: EditorManager, labelProvider: LabelProvider);
|
|
14
|
+
get uri(): URI;
|
|
15
|
+
update(data: Partial<DebugSourceData>): void;
|
|
16
|
+
open(options?: EditorOpenerOptions): Promise<EditorWidget>;
|
|
17
|
+
load(): Promise<string>;
|
|
18
|
+
get inMemory(): boolean;
|
|
19
|
+
get name(): string;
|
|
20
|
+
get longName(): string;
|
|
21
|
+
static SCHEME: string;
|
|
22
|
+
static SCHEME_PATTERN: RegExp;
|
|
23
|
+
static toUri(raw: DebugProtocol.Source): URI;
|
|
24
|
+
}
|
|
25
25
|
//# sourceMappingURL=debug-source.d.ts.map
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox 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.DebugSource = exports.DebugSourceData = void 0;
|
|
19
|
-
const uri_1 = require("@theia/core/lib/common/uri");
|
|
20
|
-
const vscode_uri_1 = require("@theia/core/shared/vscode-uri");
|
|
21
|
-
const debug_uri_utils_1 = require("../../common/debug-uri-utils");
|
|
22
|
-
class DebugSourceData {
|
|
23
|
-
}
|
|
24
|
-
exports.DebugSourceData = DebugSourceData;
|
|
25
|
-
class DebugSource extends DebugSourceData {
|
|
26
|
-
constructor(session, editorManager, labelProvider) {
|
|
27
|
-
super();
|
|
28
|
-
this.session = session;
|
|
29
|
-
this.editorManager = editorManager;
|
|
30
|
-
this.labelProvider = labelProvider;
|
|
31
|
-
}
|
|
32
|
-
get uri() {
|
|
33
|
-
return DebugSource.toUri(this.raw);
|
|
34
|
-
}
|
|
35
|
-
update(data) {
|
|
36
|
-
Object.assign(this, data);
|
|
37
|
-
}
|
|
38
|
-
open(options) {
|
|
39
|
-
return this.editorManager.open(this.uri, options);
|
|
40
|
-
}
|
|
41
|
-
async load() {
|
|
42
|
-
const source = this.raw;
|
|
43
|
-
const sourceReference = source.sourceReference;
|
|
44
|
-
const response = await this.session.sendRequest('source', {
|
|
45
|
-
sourceReference,
|
|
46
|
-
source
|
|
47
|
-
});
|
|
48
|
-
return response.body.content;
|
|
49
|
-
}
|
|
50
|
-
get inMemory() {
|
|
51
|
-
return this.uri.scheme === debug_uri_utils_1.DEBUG_SCHEME;
|
|
52
|
-
}
|
|
53
|
-
get name() {
|
|
54
|
-
if (this.inMemory) {
|
|
55
|
-
return this.raw.name || this.uri.path.base || this.uri.path.fsPath();
|
|
56
|
-
}
|
|
57
|
-
return this.labelProvider.getName(this.uri);
|
|
58
|
-
}
|
|
59
|
-
get longName() {
|
|
60
|
-
if (this.inMemory) {
|
|
61
|
-
return this.name;
|
|
62
|
-
}
|
|
63
|
-
return this.labelProvider.getLongName(this.uri);
|
|
64
|
-
}
|
|
65
|
-
static toUri(raw) {
|
|
66
|
-
if (raw.sourceReference && raw.sourceReference > 0) {
|
|
67
|
-
return new uri_1.default().withScheme(debug_uri_utils_1.DEBUG_SCHEME).withPath(raw.name).withQuery(String(raw.sourceReference));
|
|
68
|
-
}
|
|
69
|
-
if (!raw.path) {
|
|
70
|
-
throw new Error('Unrecognized source type: ' + JSON.stringify(raw));
|
|
71
|
-
}
|
|
72
|
-
if (raw.path.match(debug_uri_utils_1.SCHEME_PATTERN)) {
|
|
73
|
-
return new uri_1.default(raw.path);
|
|
74
|
-
}
|
|
75
|
-
return new uri_1.default(vscode_uri_1.URI.file(raw.path));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
exports.DebugSource = DebugSource;
|
|
79
|
-
DebugSource.SCHEME = debug_uri_utils_1.DEBUG_SCHEME;
|
|
80
|
-
DebugSource.SCHEME_PATTERN = debug_uri_utils_1.SCHEME_PATTERN;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox 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.DebugSource = exports.DebugSourceData = void 0;
|
|
19
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
20
|
+
const vscode_uri_1 = require("@theia/core/shared/vscode-uri");
|
|
21
|
+
const debug_uri_utils_1 = require("../../common/debug-uri-utils");
|
|
22
|
+
class DebugSourceData {
|
|
23
|
+
}
|
|
24
|
+
exports.DebugSourceData = DebugSourceData;
|
|
25
|
+
class DebugSource extends DebugSourceData {
|
|
26
|
+
constructor(session, editorManager, labelProvider) {
|
|
27
|
+
super();
|
|
28
|
+
this.session = session;
|
|
29
|
+
this.editorManager = editorManager;
|
|
30
|
+
this.labelProvider = labelProvider;
|
|
31
|
+
}
|
|
32
|
+
get uri() {
|
|
33
|
+
return DebugSource.toUri(this.raw);
|
|
34
|
+
}
|
|
35
|
+
update(data) {
|
|
36
|
+
Object.assign(this, data);
|
|
37
|
+
}
|
|
38
|
+
open(options) {
|
|
39
|
+
return this.editorManager.open(this.uri, options);
|
|
40
|
+
}
|
|
41
|
+
async load() {
|
|
42
|
+
const source = this.raw;
|
|
43
|
+
const sourceReference = source.sourceReference;
|
|
44
|
+
const response = await this.session.sendRequest('source', {
|
|
45
|
+
sourceReference,
|
|
46
|
+
source
|
|
47
|
+
});
|
|
48
|
+
return response.body.content;
|
|
49
|
+
}
|
|
50
|
+
get inMemory() {
|
|
51
|
+
return this.uri.scheme === debug_uri_utils_1.DEBUG_SCHEME;
|
|
52
|
+
}
|
|
53
|
+
get name() {
|
|
54
|
+
if (this.inMemory) {
|
|
55
|
+
return this.raw.name || this.uri.path.base || this.uri.path.fsPath();
|
|
56
|
+
}
|
|
57
|
+
return this.labelProvider.getName(this.uri);
|
|
58
|
+
}
|
|
59
|
+
get longName() {
|
|
60
|
+
if (this.inMemory) {
|
|
61
|
+
return this.name;
|
|
62
|
+
}
|
|
63
|
+
return this.labelProvider.getLongName(this.uri);
|
|
64
|
+
}
|
|
65
|
+
static toUri(raw) {
|
|
66
|
+
if (raw.sourceReference && raw.sourceReference > 0) {
|
|
67
|
+
return new uri_1.default().withScheme(debug_uri_utils_1.DEBUG_SCHEME).withPath(raw.name).withQuery(String(raw.sourceReference));
|
|
68
|
+
}
|
|
69
|
+
if (!raw.path) {
|
|
70
|
+
throw new Error('Unrecognized source type: ' + JSON.stringify(raw));
|
|
71
|
+
}
|
|
72
|
+
if (raw.path.match(debug_uri_utils_1.SCHEME_PATTERN)) {
|
|
73
|
+
return new uri_1.default(raw.path);
|
|
74
|
+
}
|
|
75
|
+
return new uri_1.default(vscode_uri_1.URI.file(raw.path));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.DebugSource = DebugSource;
|
|
79
|
+
DebugSource.SCHEME = debug_uri_utils_1.DEBUG_SCHEME;
|
|
80
|
+
DebugSource.SCHEME_PATTERN = debug_uri_utils_1.SCHEME_PATTERN;
|
|
81
81
|
//# sourceMappingURL=debug-source.js.map
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import * as React from '@theia/core/shared/react';
|
|
3
|
-
import { WidgetOpenerOptions } from '@theia/core/lib/browser';
|
|
4
|
-
import { EditorWidget } from '@theia/editor/lib/browser';
|
|
5
|
-
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
6
|
-
import { TreeElement } from '@theia/core/lib/browser/source-tree';
|
|
7
|
-
import { DebugScope } from '../console/debug-console-items';
|
|
8
|
-
import { DebugSource } from './debug-source';
|
|
9
|
-
import { DebugSession } from '../debug-session';
|
|
10
|
-
import { DebugThread } from './debug-thread';
|
|
11
|
-
import * as monaco from '@theia/monaco-editor-core';
|
|
12
|
-
export declare class DebugStackFrameData {
|
|
13
|
-
readonly raw: DebugProtocol.StackFrame;
|
|
14
|
-
}
|
|
15
|
-
export declare class DebugStackFrame extends DebugStackFrameData implements TreeElement {
|
|
16
|
-
readonly thread: DebugThread;
|
|
17
|
-
readonly session: DebugSession;
|
|
18
|
-
constructor(thread: DebugThread, session: DebugSession);
|
|
19
|
-
get id(): string;
|
|
20
|
-
protected _source: DebugSource | undefined;
|
|
21
|
-
get source(): DebugSource | undefined;
|
|
22
|
-
update(data: Partial<DebugStackFrameData>): void;
|
|
23
|
-
restart(): Promise<void>;
|
|
24
|
-
open(options?: WidgetOpenerOptions): Promise<EditorWidget | undefined>;
|
|
25
|
-
/**
|
|
26
|
-
* Debugger can send `column: 0` value despite of initializing the debug session with `columnsStartAt1: true`.
|
|
27
|
-
* This method can be used to ensure that neither `column` nor `column` are negative numbers.
|
|
28
|
-
* See https://github.com/microsoft/vscode-mock-debug/issues/85.
|
|
29
|
-
*/
|
|
30
|
-
protected clampPositive(value: number): number;
|
|
31
|
-
protected scopes: Promise<DebugScope[]> | undefined;
|
|
32
|
-
getScopes(): Promise<DebugScope[]>;
|
|
33
|
-
protected doGetScopes(): Promise<DebugScope[]>;
|
|
34
|
-
getMostSpecificScopes(range: monaco.IRange): Promise<DebugScope[]>;
|
|
35
|
-
protected toArgs<T extends object>(arg?: T): {
|
|
36
|
-
frameId: number;
|
|
37
|
-
} & T;
|
|
38
|
-
render(): React.ReactNode;
|
|
39
|
-
protected renderFile(): React.ReactNode;
|
|
40
|
-
get range(): monaco.IRange | undefined;
|
|
41
|
-
}
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as React from '@theia/core/shared/react';
|
|
3
|
+
import { WidgetOpenerOptions } from '@theia/core/lib/browser';
|
|
4
|
+
import { EditorWidget } from '@theia/editor/lib/browser';
|
|
5
|
+
import { DebugProtocol } from '@vscode/debugprotocol/lib/debugProtocol';
|
|
6
|
+
import { TreeElement } from '@theia/core/lib/browser/source-tree';
|
|
7
|
+
import { DebugScope } from '../console/debug-console-items';
|
|
8
|
+
import { DebugSource } from './debug-source';
|
|
9
|
+
import { DebugSession } from '../debug-session';
|
|
10
|
+
import { DebugThread } from './debug-thread';
|
|
11
|
+
import * as monaco from '@theia/monaco-editor-core';
|
|
12
|
+
export declare class DebugStackFrameData {
|
|
13
|
+
readonly raw: DebugProtocol.StackFrame;
|
|
14
|
+
}
|
|
15
|
+
export declare class DebugStackFrame extends DebugStackFrameData implements TreeElement {
|
|
16
|
+
readonly thread: DebugThread;
|
|
17
|
+
readonly session: DebugSession;
|
|
18
|
+
constructor(thread: DebugThread, session: DebugSession);
|
|
19
|
+
get id(): string;
|
|
20
|
+
protected _source: DebugSource | undefined;
|
|
21
|
+
get source(): DebugSource | undefined;
|
|
22
|
+
update(data: Partial<DebugStackFrameData>): void;
|
|
23
|
+
restart(): Promise<void>;
|
|
24
|
+
open(options?: WidgetOpenerOptions): Promise<EditorWidget | undefined>;
|
|
25
|
+
/**
|
|
26
|
+
* Debugger can send `column: 0` value despite of initializing the debug session with `columnsStartAt1: true`.
|
|
27
|
+
* This method can be used to ensure that neither `column` nor `column` are negative numbers.
|
|
28
|
+
* See https://github.com/microsoft/vscode-mock-debug/issues/85.
|
|
29
|
+
*/
|
|
30
|
+
protected clampPositive(value: number): number;
|
|
31
|
+
protected scopes: Promise<DebugScope[]> | undefined;
|
|
32
|
+
getScopes(): Promise<DebugScope[]>;
|
|
33
|
+
protected doGetScopes(): Promise<DebugScope[]>;
|
|
34
|
+
getMostSpecificScopes(range: monaco.IRange): Promise<DebugScope[]>;
|
|
35
|
+
protected toArgs<T extends object>(arg?: T): {
|
|
36
|
+
frameId: number;
|
|
37
|
+
} & T;
|
|
38
|
+
render(): React.ReactNode;
|
|
39
|
+
protected renderFile(): React.ReactNode;
|
|
40
|
+
get range(): monaco.IRange | undefined;
|
|
41
|
+
}
|
|
42
42
|
//# sourceMappingURL=debug-stack-frame.d.ts.map
|
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2018 TypeFox 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.DebugStackFrame = exports.DebugStackFrameData = void 0;
|
|
19
|
-
/*---------------------------------------------------------------------------------------------
|
|
20
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
21
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
22
|
-
*--------------------------------------------------------------------------------------------*/
|
|
23
|
-
// Based on https://github.com/theia-ide/vscode/blob/standalone/0.19.x/src/vs/workbench/contrib/debug/common/debugModel.ts
|
|
24
|
-
const React = require("@theia/core/shared/react");
|
|
25
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
26
|
-
const browser_2 = require("@theia/editor/lib/browser");
|
|
27
|
-
const debug_console_items_1 = require("../console/debug-console-items");
|
|
28
|
-
const monaco = require("@theia/monaco-editor-core");
|
|
29
|
-
class DebugStackFrameData {
|
|
30
|
-
}
|
|
31
|
-
exports.DebugStackFrameData = DebugStackFrameData;
|
|
32
|
-
class DebugStackFrame extends DebugStackFrameData {
|
|
33
|
-
constructor(thread, session) {
|
|
34
|
-
super();
|
|
35
|
-
this.thread = thread;
|
|
36
|
-
this.session = session;
|
|
37
|
-
}
|
|
38
|
-
get id() {
|
|
39
|
-
return this.session.id + ':' + this.thread.id + ':' + this.raw.id;
|
|
40
|
-
}
|
|
41
|
-
get source() {
|
|
42
|
-
return this._source;
|
|
43
|
-
}
|
|
44
|
-
update(data) {
|
|
45
|
-
Object.assign(this, data);
|
|
46
|
-
this._source = this.raw.source && this.session.getSource(this.raw.source);
|
|
47
|
-
}
|
|
48
|
-
async restart() {
|
|
49
|
-
await this.session.sendRequest('restartFrame', this.toArgs({
|
|
50
|
-
threadId: this.thread.id
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
async open(options) {
|
|
54
|
-
if (!this.source) {
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
const { line, column, endLine, endColumn } = this.raw;
|
|
58
|
-
const selection = {
|
|
59
|
-
start: browser_2.Position.create(this.clampPositive(line - 1), this.clampPositive(column - 1))
|
|
60
|
-
};
|
|
61
|
-
if (typeof endLine === 'number') {
|
|
62
|
-
selection.end = {
|
|
63
|
-
line: this.clampPositive(endLine - 1),
|
|
64
|
-
character: typeof endColumn === 'number' ? this.clampPositive(endColumn - 1) : undefined
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
this.source.open({
|
|
68
|
-
mode: 'reveal',
|
|
69
|
-
...options,
|
|
70
|
-
selection
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Debugger can send `column: 0` value despite of initializing the debug session with `columnsStartAt1: true`.
|
|
75
|
-
* This method can be used to ensure that neither `column` nor `column` are negative numbers.
|
|
76
|
-
* See https://github.com/microsoft/vscode-mock-debug/issues/85.
|
|
77
|
-
*/
|
|
78
|
-
clampPositive(value) {
|
|
79
|
-
return Math.max(value, 0);
|
|
80
|
-
}
|
|
81
|
-
getScopes() {
|
|
82
|
-
return this.scopes || (this.scopes = this.doGetScopes());
|
|
83
|
-
}
|
|
84
|
-
async doGetScopes() {
|
|
85
|
-
let response;
|
|
86
|
-
try {
|
|
87
|
-
response = await this.session.sendRequest('scopes', this.toArgs());
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
// no-op: ignore debug adapter errors
|
|
91
|
-
}
|
|
92
|
-
if (!response) {
|
|
93
|
-
return [];
|
|
94
|
-
}
|
|
95
|
-
return response.body.scopes.map(raw => new debug_console_items_1.DebugScope(raw, () => this.session));
|
|
96
|
-
}
|
|
97
|
-
// https://github.com/theia-ide/vscode/blob/standalone/0.19.x/src/vs/workbench/contrib/debug/common/debugModel.ts#L324-L335
|
|
98
|
-
async getMostSpecificScopes(range) {
|
|
99
|
-
const scopes = await this.getScopes();
|
|
100
|
-
const nonExpensiveScopes = scopes.filter(s => !s.expensive);
|
|
101
|
-
const haveRangeInfo = nonExpensiveScopes.some(s => !!s.range);
|
|
102
|
-
if (!haveRangeInfo) {
|
|
103
|
-
return nonExpensiveScopes;
|
|
104
|
-
}
|
|
105
|
-
const scopesContainingRange = nonExpensiveScopes.filter(scope => scope.range && monaco.Range.containsRange(scope.range, range))
|
|
106
|
-
.sort((first, second) => (first.range.endLineNumber - first.range.startLineNumber) - (second.range.endLineNumber - second.range.startLineNumber));
|
|
107
|
-
return scopesContainingRange.length ? scopesContainingRange : nonExpensiveScopes;
|
|
108
|
-
}
|
|
109
|
-
toArgs(arg) {
|
|
110
|
-
return Object.assign({}, arg, {
|
|
111
|
-
frameId: this.raw.id
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
render() {
|
|
115
|
-
const classNames = ['theia-debug-stack-frame'];
|
|
116
|
-
if (this.raw.presentationHint === 'label') {
|
|
117
|
-
classNames.push('label');
|
|
118
|
-
}
|
|
119
|
-
if (this.raw.presentationHint === 'subtle') {
|
|
120
|
-
classNames.push('subtle');
|
|
121
|
-
}
|
|
122
|
-
if (!this.source || this.source.raw.presentationHint === 'deemphasize') {
|
|
123
|
-
classNames.push(browser_1.DISABLED_CLASS);
|
|
124
|
-
}
|
|
125
|
-
return React.createElement("div", { className: classNames.join(' ') },
|
|
126
|
-
React.createElement("span", { className: 'expression', title: this.raw.name }, this.raw.name),
|
|
127
|
-
this.renderFile());
|
|
128
|
-
}
|
|
129
|
-
renderFile() {
|
|
130
|
-
const { source } = this;
|
|
131
|
-
if (!source) {
|
|
132
|
-
return undefined;
|
|
133
|
-
}
|
|
134
|
-
const origin = source.raw.origin && `\n${source.raw.origin}` || '';
|
|
135
|
-
return React.createElement("span", { className: 'file', title: source.longName + origin },
|
|
136
|
-
React.createElement("span", { className: 'name' }, source.name),
|
|
137
|
-
React.createElement("span", { className: 'line' },
|
|
138
|
-
this.raw.line,
|
|
139
|
-
":",
|
|
140
|
-
this.raw.column));
|
|
141
|
-
}
|
|
142
|
-
get range() {
|
|
143
|
-
const { source, line: startLine, column: startColumn, endLine, endColumn } = this.raw;
|
|
144
|
-
if (source) {
|
|
145
|
-
return new monaco.Range(startLine, startColumn, endLine || startLine, endColumn || startColumn);
|
|
146
|
-
}
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
exports.DebugStackFrame = DebugStackFrame;
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2018 TypeFox 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.DebugStackFrame = exports.DebugStackFrameData = void 0;
|
|
19
|
+
/*---------------------------------------------------------------------------------------------
|
|
20
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
21
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
22
|
+
*--------------------------------------------------------------------------------------------*/
|
|
23
|
+
// Based on https://github.com/theia-ide/vscode/blob/standalone/0.19.x/src/vs/workbench/contrib/debug/common/debugModel.ts
|
|
24
|
+
const React = require("@theia/core/shared/react");
|
|
25
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
26
|
+
const browser_2 = require("@theia/editor/lib/browser");
|
|
27
|
+
const debug_console_items_1 = require("../console/debug-console-items");
|
|
28
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
29
|
+
class DebugStackFrameData {
|
|
30
|
+
}
|
|
31
|
+
exports.DebugStackFrameData = DebugStackFrameData;
|
|
32
|
+
class DebugStackFrame extends DebugStackFrameData {
|
|
33
|
+
constructor(thread, session) {
|
|
34
|
+
super();
|
|
35
|
+
this.thread = thread;
|
|
36
|
+
this.session = session;
|
|
37
|
+
}
|
|
38
|
+
get id() {
|
|
39
|
+
return this.session.id + ':' + this.thread.id + ':' + this.raw.id;
|
|
40
|
+
}
|
|
41
|
+
get source() {
|
|
42
|
+
return this._source;
|
|
43
|
+
}
|
|
44
|
+
update(data) {
|
|
45
|
+
Object.assign(this, data);
|
|
46
|
+
this._source = this.raw.source && this.session.getSource(this.raw.source);
|
|
47
|
+
}
|
|
48
|
+
async restart() {
|
|
49
|
+
await this.session.sendRequest('restartFrame', this.toArgs({
|
|
50
|
+
threadId: this.thread.id
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
async open(options) {
|
|
54
|
+
if (!this.source) {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
const { line, column, endLine, endColumn } = this.raw;
|
|
58
|
+
const selection = {
|
|
59
|
+
start: browser_2.Position.create(this.clampPositive(line - 1), this.clampPositive(column - 1))
|
|
60
|
+
};
|
|
61
|
+
if (typeof endLine === 'number') {
|
|
62
|
+
selection.end = {
|
|
63
|
+
line: this.clampPositive(endLine - 1),
|
|
64
|
+
character: typeof endColumn === 'number' ? this.clampPositive(endColumn - 1) : undefined
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
this.source.open({
|
|
68
|
+
mode: 'reveal',
|
|
69
|
+
...options,
|
|
70
|
+
selection
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Debugger can send `column: 0` value despite of initializing the debug session with `columnsStartAt1: true`.
|
|
75
|
+
* This method can be used to ensure that neither `column` nor `column` are negative numbers.
|
|
76
|
+
* See https://github.com/microsoft/vscode-mock-debug/issues/85.
|
|
77
|
+
*/
|
|
78
|
+
clampPositive(value) {
|
|
79
|
+
return Math.max(value, 0);
|
|
80
|
+
}
|
|
81
|
+
getScopes() {
|
|
82
|
+
return this.scopes || (this.scopes = this.doGetScopes());
|
|
83
|
+
}
|
|
84
|
+
async doGetScopes() {
|
|
85
|
+
let response;
|
|
86
|
+
try {
|
|
87
|
+
response = await this.session.sendRequest('scopes', this.toArgs());
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// no-op: ignore debug adapter errors
|
|
91
|
+
}
|
|
92
|
+
if (!response) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
return response.body.scopes.map(raw => new debug_console_items_1.DebugScope(raw, () => this.session));
|
|
96
|
+
}
|
|
97
|
+
// https://github.com/theia-ide/vscode/blob/standalone/0.19.x/src/vs/workbench/contrib/debug/common/debugModel.ts#L324-L335
|
|
98
|
+
async getMostSpecificScopes(range) {
|
|
99
|
+
const scopes = await this.getScopes();
|
|
100
|
+
const nonExpensiveScopes = scopes.filter(s => !s.expensive);
|
|
101
|
+
const haveRangeInfo = nonExpensiveScopes.some(s => !!s.range);
|
|
102
|
+
if (!haveRangeInfo) {
|
|
103
|
+
return nonExpensiveScopes;
|
|
104
|
+
}
|
|
105
|
+
const scopesContainingRange = nonExpensiveScopes.filter(scope => scope.range && monaco.Range.containsRange(scope.range, range))
|
|
106
|
+
.sort((first, second) => (first.range.endLineNumber - first.range.startLineNumber) - (second.range.endLineNumber - second.range.startLineNumber));
|
|
107
|
+
return scopesContainingRange.length ? scopesContainingRange : nonExpensiveScopes;
|
|
108
|
+
}
|
|
109
|
+
toArgs(arg) {
|
|
110
|
+
return Object.assign({}, arg, {
|
|
111
|
+
frameId: this.raw.id
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
render() {
|
|
115
|
+
const classNames = ['theia-debug-stack-frame'];
|
|
116
|
+
if (this.raw.presentationHint === 'label') {
|
|
117
|
+
classNames.push('label');
|
|
118
|
+
}
|
|
119
|
+
if (this.raw.presentationHint === 'subtle') {
|
|
120
|
+
classNames.push('subtle');
|
|
121
|
+
}
|
|
122
|
+
if (!this.source || this.source.raw.presentationHint === 'deemphasize') {
|
|
123
|
+
classNames.push(browser_1.DISABLED_CLASS);
|
|
124
|
+
}
|
|
125
|
+
return React.createElement("div", { className: classNames.join(' ') },
|
|
126
|
+
React.createElement("span", { className: 'expression', title: this.raw.name }, this.raw.name),
|
|
127
|
+
this.renderFile());
|
|
128
|
+
}
|
|
129
|
+
renderFile() {
|
|
130
|
+
const { source } = this;
|
|
131
|
+
if (!source) {
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
const origin = source.raw.origin && `\n${source.raw.origin}` || '';
|
|
135
|
+
return React.createElement("span", { className: 'file', title: source.longName + origin },
|
|
136
|
+
React.createElement("span", { className: 'name' }, source.name),
|
|
137
|
+
React.createElement("span", { className: 'line' },
|
|
138
|
+
this.raw.line,
|
|
139
|
+
":",
|
|
140
|
+
this.raw.column));
|
|
141
|
+
}
|
|
142
|
+
get range() {
|
|
143
|
+
const { source, line: startLine, column: startColumn, endLine, endColumn } = this.raw;
|
|
144
|
+
if (source) {
|
|
145
|
+
return new monaco.Range(startLine, startColumn, endLine || startLine, endColumn || startColumn);
|
|
146
|
+
}
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.DebugStackFrame = DebugStackFrame;
|
|
151
151
|
//# sourceMappingURL=debug-stack-frame.js.map
|