@theia/debug 1.20.0 → 1.21.0-next.15
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/console/debug-console-session.js +2 -2
- package/lib/browser/console/debug-console-session.js.map +1 -1
- package/lib/browser/debug-frontend-application-contribution.js +4 -4
- package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
- package/lib/browser/debug-session-connection.d.ts +22 -17
- package/lib/browser/debug-session-connection.d.ts.map +1 -1
- package/lib/browser/debug-session-connection.js +86 -65
- package/lib/browser/debug-session-connection.js.map +1 -1
- package/lib/browser/debug-session-contribution.d.ts.map +1 -1
- package/lib/browser/debug-session-contribution.js.map +1 -1
- package/lib/browser/debug-session-manager.d.ts +6 -14
- package/lib/browser/debug-session-manager.d.ts.map +1 -1
- package/lib/browser/debug-session-manager.js +41 -44
- package/lib/browser/debug-session-manager.js.map +1 -1
- package/lib/browser/debug-session.d.ts +9 -8
- package/lib/browser/debug-session.d.ts.map +1 -1
- package/lib/browser/debug-session.js +55 -58
- package/lib/browser/debug-session.js.map +1 -1
- package/lib/browser/view/debug-view-model.js +3 -3
- package/lib/browser/view/debug-view-model.js.map +1 -1
- package/lib/common/debug-service.d.ts +10 -0
- package/lib/common/debug-service.d.ts.map +1 -1
- package/lib/node/debug-adapter-factory.d.ts +4 -4
- package/lib/node/debug-adapter-factory.d.ts.map +1 -1
- package/lib/node/debug-adapter-factory.js +8 -8
- package/lib/node/debug-adapter-factory.js.map +1 -1
- package/lib/node/debug-adapter-session-manager.d.ts.map +1 -1
- package/lib/node/debug-adapter-session-manager.js +0 -1
- package/lib/node/debug-adapter-session-manager.js.map +1 -1
- package/lib/node/debug-adapter-session.d.ts +7 -7
- package/lib/node/debug-adapter-session.d.ts.map +1 -1
- package/lib/node/debug-adapter-session.js +25 -24
- package/lib/node/debug-adapter-session.js.map +1 -1
- package/lib/node/debug-model.d.ts +32 -15
- package/lib/node/debug-model.d.ts.map +1 -1
- package/lib/node/debug-model.js.map +1 -1
- package/lib/node/{inline-communication-provider.d.ts → inline-debug-adapter.d.ts} +6 -5
- package/lib/node/inline-debug-adapter.d.ts.map +1 -0
- package/lib/node/{inline-communication-provider.js → inline-debug-adapter.js} +8 -6
- package/lib/node/inline-debug-adapter.js.map +1 -0
- package/lib/node/{stream-communication-provider.d.ts → stream-debug-adapter.d.ts} +17 -3
- package/lib/node/stream-debug-adapter.d.ts.map +1 -0
- package/lib/node/{stream-communication-provider.js → stream-debug-adapter.js} +38 -13
- package/lib/node/stream-debug-adapter.js.map +1 -0
- package/package.json +16 -16
- package/src/browser/console/debug-console-session.ts +2 -2
- package/src/browser/debug-frontend-application-contribution.ts +4 -4
- package/src/browser/debug-session-connection.ts +101 -75
- package/src/browser/debug-session-contribution.ts +2 -3
- package/src/browser/debug-session-manager.ts +45 -47
- package/src/browser/debug-session.tsx +54 -57
- package/src/browser/view/debug-view-model.ts +3 -3
- package/src/common/debug-service.ts +13 -0
- package/src/node/debug-adapter-factory.ts +13 -12
- package/src/node/debug-adapter-session-manager.ts +0 -1
- package/src/node/debug-adapter-session.ts +29 -28
- package/src/node/debug-model.ts +33 -15
- package/src/node/{inline-communication-provider.ts → inline-debug-adapter.ts} +7 -4
- package/src/node/{stream-communication-provider.ts → stream-debug-adapter.ts} +42 -9
- package/lib/node/inline-communication-provider.d.ts.map +0 -1
- package/lib/node/inline-communication-provider.js.map +0 -1
- package/lib/node/stream-communication-provider.d.ts.map +0 -1
- package/lib/node/stream-communication-provider.js.map +0 -1
|
@@ -16,25 +16,20 @@
|
|
|
16
16
|
********************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.DebugAdapterSessionImpl = void 0;
|
|
19
|
-
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
20
19
|
/**
|
|
21
20
|
* [DebugAdapterSession](#DebugAdapterSession) implementation.
|
|
22
21
|
*/
|
|
23
22
|
class DebugAdapterSessionImpl {
|
|
24
|
-
constructor(id,
|
|
23
|
+
constructor(id, debugAdapter) {
|
|
25
24
|
this.id = id;
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
disposable_1.Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'terminate' })))
|
|
32
|
-
]);
|
|
33
|
-
this.communicationProvider.onMessageReceived((message) => this.send(message));
|
|
34
|
-
this.communicationProvider.onClose(() => this.onDebugAdapterExit(1, undefined)); // FIXME pass a proper exit code
|
|
35
|
-
this.communicationProvider.onError(error => this.onDebugAdapterError(error));
|
|
25
|
+
this.debugAdapter = debugAdapter;
|
|
26
|
+
this.isClosed = false;
|
|
27
|
+
this.debugAdapter.onMessageReceived((message) => this.send(message));
|
|
28
|
+
this.debugAdapter.onClose(() => this.onDebugAdapterExit());
|
|
29
|
+
this.debugAdapter.onError(error => this.onDebugAdapterError(error));
|
|
36
30
|
}
|
|
37
31
|
async start(channel) {
|
|
32
|
+
console.debug(`starting debug adapter session '${this.id}'`);
|
|
38
33
|
if (this.channel) {
|
|
39
34
|
throw new Error('The session has already been started, id: ' + this.id);
|
|
40
35
|
}
|
|
@@ -42,18 +37,16 @@ class DebugAdapterSessionImpl {
|
|
|
42
37
|
this.channel.onMessage((message) => this.write(message));
|
|
43
38
|
this.channel.onClose(() => this.channel = undefined);
|
|
44
39
|
}
|
|
45
|
-
onDebugAdapterExit(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
this.send(JSON.stringify(event));
|
|
40
|
+
onDebugAdapterExit() {
|
|
41
|
+
this.isClosed = true;
|
|
42
|
+
console.debug(`onDebugAdapterExit session: '${this.id}'`);
|
|
43
|
+
if (this.channel) {
|
|
44
|
+
this.channel.close();
|
|
45
|
+
this.channel = undefined;
|
|
46
|
+
}
|
|
55
47
|
}
|
|
56
48
|
onDebugAdapterError(error) {
|
|
49
|
+
console.debug(`error in debug adapter session: '${this.id}': ${JSON.stringify(error)}`);
|
|
57
50
|
const event = {
|
|
58
51
|
type: 'event',
|
|
59
52
|
event: 'error',
|
|
@@ -68,10 +61,18 @@ class DebugAdapterSessionImpl {
|
|
|
68
61
|
}
|
|
69
62
|
}
|
|
70
63
|
write(message) {
|
|
71
|
-
this.
|
|
64
|
+
if (!this.isClosed) {
|
|
65
|
+
this.debugAdapter.send(message);
|
|
66
|
+
}
|
|
72
67
|
}
|
|
73
68
|
async stop() {
|
|
74
|
-
|
|
69
|
+
var _a;
|
|
70
|
+
console.debug(`stopping debug adapter session: '${this.id}'`);
|
|
71
|
+
if (!this.isClosed) {
|
|
72
|
+
await this.debugAdapter.stop();
|
|
73
|
+
}
|
|
74
|
+
(_a = this.channel) === null || _a === void 0 ? void 0 : _a.close();
|
|
75
|
+
this.channel = undefined;
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
exports.DebugAdapterSessionImpl = DebugAdapterSessionImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;
|
|
1
|
+
{"version":3,"file":"debug-adapter-session.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAgBlF;;GAEG;AACH,MAAa,uBAAuB;IAKhC,YACa,EAAU,EACA,YAA0B;QADpC,OAAE,GAAF,EAAE,CAAQ;QACA,iBAAY,GAAZ,YAAY,CAAc;QAJzC,aAAQ,GAAY,KAAK,CAAC;QAM9B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IAExE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAgB;QAExB,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAEzD,CAAC;IAES,kBAAkB;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;SAC5B;IACL,CAAC;IAES,mBAAmB,CAAC,KAAY;QACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,MAAM,KAAK,GAAwB;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,CAAC,CAAC;YACP,IAAI,EAAE,KAAK;SACd,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IAES,IAAI,CAAC,OAAe;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B;IACL,CAAC;IAES,KAAK,CAAC,OAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;;QACN,OAAO,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAClC;QACD,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,GAAG;QACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;CACJ;AApED,0DAoEC"}
|
|
@@ -13,23 +13,24 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { WebSocketChannel } from '@theia/core/lib/common/messaging/web-socket-channel';
|
|
17
16
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
18
17
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
19
|
-
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
20
18
|
import { MaybePromise } from '@theia/core/lib/common/types';
|
|
21
19
|
import { Event } from '@theia/core/lib/common/event';
|
|
20
|
+
import { Channel } from '../common/debug-service';
|
|
22
21
|
/**
|
|
23
22
|
* DebugAdapterSession symbol for DI.
|
|
24
23
|
*/
|
|
25
24
|
export declare const DebugAdapterSession: unique symbol;
|
|
26
25
|
/**
|
|
27
|
-
* The debug adapter session.
|
|
26
|
+
* The debug adapter session. The debug adapter session manages the lifecycle of a
|
|
27
|
+
* debug session: the debug session should be discarded if and only if the debug adapter
|
|
28
|
+
* session is stopped.
|
|
28
29
|
*/
|
|
29
30
|
export interface DebugAdapterSession {
|
|
30
31
|
id: string;
|
|
31
32
|
parentSession?: DebugAdapterSession;
|
|
32
|
-
start(channel:
|
|
33
|
+
start(channel: Channel): Promise<void>;
|
|
33
34
|
stop(): Promise<void>;
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
@@ -40,7 +41,7 @@ export declare const DebugAdapterSessionFactory: unique symbol;
|
|
|
40
41
|
* The [debug session](#DebugSession) factory.
|
|
41
42
|
*/
|
|
42
43
|
export interface DebugAdapterSessionFactory {
|
|
43
|
-
get(sessionId: string,
|
|
44
|
+
get(sessionId: string, debugAdapter: DebugAdapter): DebugAdapterSession;
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* Debug adapter executable for spawning.
|
|
@@ -69,18 +70,34 @@ export interface DebugAdapterForkExecutable {
|
|
|
69
70
|
*/
|
|
70
71
|
export declare type DebugAdapterExecutable = DebugAdapterSpawnExecutable | DebugAdapterForkExecutable;
|
|
71
72
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* procedure, however it is also not disallowed.
|
|
76
|
-
*
|
|
77
|
-
* TODO: the better name is DebugStreamConnection + handling on error and close
|
|
73
|
+
* Implementers stand for the various types of debug adapters the system can talk to.
|
|
74
|
+
* Creation of debug adapters is not covered in this interface, but handling communication
|
|
75
|
+
* and the end of life is.
|
|
78
76
|
*/
|
|
79
|
-
export interface
|
|
77
|
+
export interface DebugAdapter {
|
|
78
|
+
/**
|
|
79
|
+
* A DAP protocol message has been received from the debug adapter
|
|
80
|
+
*/
|
|
80
81
|
onMessageReceived: Event<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Send a DAP message to the debug adapter
|
|
84
|
+
* @param message the JSON-encoded DAP message
|
|
85
|
+
*/
|
|
86
|
+
send(message: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* An error has occured communicating with the debug adapter. This does not meant the debug adapter
|
|
89
|
+
* has terminated.
|
|
90
|
+
*/
|
|
81
91
|
onError: Event<Error>;
|
|
92
|
+
/**
|
|
93
|
+
* The connection to the debug adapter has been lost. This signals the end of life for this
|
|
94
|
+
* debug adapter instance.
|
|
95
|
+
*/
|
|
82
96
|
onClose: Event<void>;
|
|
83
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Terminate the connection to the debug adapter.
|
|
99
|
+
*/
|
|
100
|
+
stop(): Promise<void>;
|
|
84
101
|
}
|
|
85
102
|
/**
|
|
86
103
|
* DebugAdapterFactory symbol for DI.
|
|
@@ -90,8 +107,8 @@ export declare const DebugAdapterFactory: unique symbol;
|
|
|
90
107
|
* Factory to start debug adapter.
|
|
91
108
|
*/
|
|
92
109
|
export interface DebugAdapterFactory {
|
|
93
|
-
start(executable: DebugAdapterExecutable):
|
|
94
|
-
connect(debugServerPort: number):
|
|
110
|
+
start(executable: DebugAdapterExecutable): DebugAdapter;
|
|
111
|
+
connect(debugServerPort: number): DebugAdapter;
|
|
95
112
|
}
|
|
96
113
|
/**
|
|
97
114
|
* DebugAdapterContribution symbol for DI.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-model.d.ts","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAUlF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"debug-model.d.ts","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-model.js","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;
|
|
1
|
+
{"version":3,"file":"debug-model.js","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAgBlF,kHAAkH;AAElH;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAcjE;;GAEG;AACU,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAsE/E;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAUjE;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { Event } from '@theia/core/lib/common/event';
|
|
17
|
-
import {
|
|
17
|
+
import { DebugAdapter } from './debug-model';
|
|
18
18
|
import * as theia from '@theia/plugin';
|
|
19
19
|
/**
|
|
20
|
-
* A
|
|
20
|
+
* A debug adapter for using the inline implementation from a plugin.
|
|
21
21
|
*/
|
|
22
|
-
export declare class
|
|
22
|
+
export declare class InlineDebugAdapter implements DebugAdapter {
|
|
23
23
|
private debugAdapter;
|
|
24
24
|
private messageReceivedEmitter;
|
|
25
25
|
onMessageReceived: Event<string>;
|
|
@@ -27,7 +27,8 @@ export declare class InlineCommunicationProvider implements CommunicationProvide
|
|
|
27
27
|
private closeEmitter;
|
|
28
28
|
onClose: Event<void>;
|
|
29
29
|
constructor(debugAdapter: theia.DebugAdapter);
|
|
30
|
+
start(): Promise<void>;
|
|
30
31
|
send(message: string): void;
|
|
31
|
-
|
|
32
|
+
stop(): Promise<void>;
|
|
32
33
|
}
|
|
33
|
-
//# sourceMappingURL=inline-
|
|
34
|
+
//# sourceMappingURL=inline-debug-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-debug-adapter.d.ts","sourceRoot":"","sources":["../../src/node/inline-debug-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IAOvC,OAAO,CAAC,YAAY;IANhC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqC;IACrE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAc;IACnC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAA2B;gBAE3B,YAAY,EAAE,KAAK,CAAC,YAAY;IAM9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.InlineDebugAdapter = void 0;
|
|
19
19
|
const event_1 = require("@theia/core/lib/common/event");
|
|
20
20
|
/**
|
|
21
|
-
* A
|
|
21
|
+
* A debug adapter for using the inline implementation from a plugin.
|
|
22
22
|
*/
|
|
23
|
-
class
|
|
23
|
+
class InlineDebugAdapter {
|
|
24
24
|
constructor(debugAdapter) {
|
|
25
25
|
this.debugAdapter = debugAdapter;
|
|
26
26
|
this.messageReceivedEmitter = new event_1.Emitter();
|
|
@@ -32,12 +32,14 @@ class InlineCommunicationProvider {
|
|
|
32
32
|
this.messageReceivedEmitter.fire(JSON.stringify(msg));
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
+
async start() {
|
|
36
|
+
}
|
|
35
37
|
send(message) {
|
|
36
38
|
this.debugAdapter.handleMessage(JSON.parse(message));
|
|
37
39
|
}
|
|
38
|
-
|
|
40
|
+
async stop() {
|
|
39
41
|
this.debugAdapter.dispose();
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
|
-
exports.
|
|
43
|
-
//# sourceMappingURL=inline-
|
|
44
|
+
exports.InlineDebugAdapter = InlineDebugAdapter;
|
|
45
|
+
//# sourceMappingURL=inline-debug-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-debug-adapter.js","sourceRoot":"","sources":["../../src/node/inline-debug-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,wDAA8D;AAI9D;;GAEG;AACH,MAAa,kBAAkB;IAO3B,YAAoB,YAAgC;QAAhC,iBAAY,GAAZ,YAAY,CAAoB;QAN5C,2BAAsB,GAAG,IAAI,eAAO,EAAU,CAAC;QACvD,sBAAiB,GAAkB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QACrE,YAAO,GAAiB,aAAK,CAAC,IAAI,CAAC;QAC3B,iBAAY,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC3C,YAAO,GAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAG3C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK;IACX,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACJ;AAvBD,gDAuBC"}
|
|
@@ -16,9 +16,11 @@
|
|
|
16
16
|
/// <reference types="node" />
|
|
17
17
|
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
18
18
|
import { Event } from '@theia/core/lib/common/event';
|
|
19
|
+
import { ChildProcess } from 'child_process';
|
|
19
20
|
import * as stream from 'stream';
|
|
20
|
-
import
|
|
21
|
-
|
|
21
|
+
import * as net from 'net';
|
|
22
|
+
import { DebugAdapter } from './debug-model';
|
|
23
|
+
declare abstract class StreamDebugAdapter extends DisposableCollection {
|
|
22
24
|
private fromAdapter;
|
|
23
25
|
private toAdapter;
|
|
24
26
|
private messageReceivedEmitter;
|
|
@@ -32,7 +34,19 @@ export declare class StreamCommunicationProvider extends DisposableCollection im
|
|
|
32
34
|
private contentLength;
|
|
33
35
|
private buffer;
|
|
34
36
|
constructor(fromAdapter: stream.Readable, toAdapter: stream.Writable);
|
|
37
|
+
handleClosed(): void;
|
|
35
38
|
send(message: string): void;
|
|
36
39
|
protected handleData(data: Buffer): void;
|
|
37
40
|
}
|
|
38
|
-
|
|
41
|
+
export declare class ProcessDebugAdapter extends StreamDebugAdapter implements DebugAdapter {
|
|
42
|
+
protected readonly process: ChildProcess;
|
|
43
|
+
constructor(process: ChildProcess);
|
|
44
|
+
stop(): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export declare class SocketDebugAdapter extends StreamDebugAdapter implements DebugAdapter {
|
|
47
|
+
private readonly socket;
|
|
48
|
+
constructor(socket: net.Socket);
|
|
49
|
+
stop(): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=stream-debug-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-debug-adapter.d.ts","sourceRoot":"","sources":["../../src/node/stream-debug-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,uBAAe,kBAAmB,SAAQ,oBAAoB;IAc9C,OAAO,CAAC,WAAW;IAAmB,OAAO,CAAC,SAAS;IAbnE,OAAO,CAAC,sBAAsB,CAAyB;IACvD,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAqC;IACrE,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAA2B;IAChD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAA2B;IAG/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAc;IACrC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAoB;IACjD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAA2B;gBAErB,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAU,SAAS,EAAE,MAAM,CAAC,QAAQ;IASpF,YAAY,IAAI,IAAI;IAIpB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM3B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CA0C3C;AAED,qBAAa,mBAAoB,SAAQ,kBAAmB,YAAW,YAAY;IAC/E,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;gBAC7B,OAAO,EAAE,YAAY;IAK3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B;AAED,qBAAa,kBAAmB,SAAQ,kBAAmB,YAAW,YAAY;IAC9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;IAK9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAKxB"}
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
********************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.SocketDebugAdapter = exports.ProcessDebugAdapter = void 0;
|
|
19
19
|
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
20
20
|
const event_1 = require("@theia/core/lib/common/event");
|
|
21
|
-
class
|
|
21
|
+
class StreamDebugAdapter extends disposable_1.DisposableCollection {
|
|
22
22
|
constructor(fromAdapter, toAdapter) {
|
|
23
23
|
super();
|
|
24
24
|
this.fromAdapter = fromAdapter;
|
|
@@ -32,13 +32,15 @@ class StreamCommunicationProvider extends disposable_1.DisposableCollection {
|
|
|
32
32
|
this.contentLength = -1;
|
|
33
33
|
this.buffer = Buffer.alloc(0);
|
|
34
34
|
this.fromAdapter.on('data', (data) => this.handleData(data));
|
|
35
|
-
this.fromAdapter.on('close', () => this.
|
|
35
|
+
this.fromAdapter.on('close', () => this.handleClosed()); // FIXME pass a proper exit code
|
|
36
36
|
this.fromAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
37
37
|
this.toAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
handleClosed() {
|
|
40
|
+
this.closeEmitter.fire();
|
|
41
|
+
}
|
|
40
42
|
send(message) {
|
|
41
|
-
const msg = `${
|
|
43
|
+
const msg = `${StreamDebugAdapter.CONTENT_LENGTH}: ${Buffer.byteLength(message, 'utf8')}${StreamDebugAdapter.TWO_CRLF}${message}`;
|
|
42
44
|
this.toAdapter.write(msg, 'utf8');
|
|
43
45
|
}
|
|
44
46
|
handleData(data) {
|
|
@@ -56,24 +58,24 @@ class StreamCommunicationProvider extends disposable_1.DisposableCollection {
|
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
else {
|
|
59
|
-
let idx = this.buffer.indexOf(
|
|
61
|
+
let idx = this.buffer.indexOf(StreamDebugAdapter.CONTENT_LENGTH);
|
|
60
62
|
if (idx > 0) {
|
|
61
63
|
// log unrecognized output
|
|
62
64
|
const output = this.buffer.slice(0, idx);
|
|
63
65
|
console.log(output.toString('utf-8'));
|
|
64
66
|
this.buffer = this.buffer.slice(idx);
|
|
65
67
|
}
|
|
66
|
-
idx = this.buffer.indexOf(
|
|
68
|
+
idx = this.buffer.indexOf(StreamDebugAdapter.TWO_CRLF);
|
|
67
69
|
if (idx !== -1) {
|
|
68
70
|
const header = this.buffer.toString('utf8', 0, idx);
|
|
69
71
|
const lines = header.split('\r\n');
|
|
70
72
|
for (let i = 0; i < lines.length; i++) {
|
|
71
73
|
const pair = lines[i].split(/: +/);
|
|
72
|
-
if (pair[0] ===
|
|
74
|
+
if (pair[0] === StreamDebugAdapter.CONTENT_LENGTH) {
|
|
73
75
|
this.contentLength = +pair[1];
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
|
-
this.buffer = this.buffer.slice(idx +
|
|
78
|
+
this.buffer = this.buffer.slice(idx + StreamDebugAdapter.TWO_CRLF.length);
|
|
77
79
|
continue;
|
|
78
80
|
}
|
|
79
81
|
}
|
|
@@ -81,8 +83,31 @@ class StreamCommunicationProvider extends disposable_1.DisposableCollection {
|
|
|
81
83
|
}
|
|
82
84
|
}
|
|
83
85
|
}
|
|
84
|
-
exports.StreamCommunicationProvider = StreamCommunicationProvider;
|
|
85
86
|
// these constants are for the message header, see: https://microsoft.github.io/debug-adapter-protocol/overview#header-part
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
StreamDebugAdapter.TWO_CRLF = '\r\n\r\n';
|
|
88
|
+
StreamDebugAdapter.CONTENT_LENGTH = 'Content-Length';
|
|
89
|
+
class ProcessDebugAdapter extends StreamDebugAdapter {
|
|
90
|
+
constructor(process) {
|
|
91
|
+
super(process.stdout, process.stdin);
|
|
92
|
+
this.process = process;
|
|
93
|
+
}
|
|
94
|
+
async stop() {
|
|
95
|
+
var _a;
|
|
96
|
+
this.process.kill();
|
|
97
|
+
(_a = this.process.stdin) === null || _a === void 0 ? void 0 : _a.end();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.ProcessDebugAdapter = ProcessDebugAdapter;
|
|
101
|
+
class SocketDebugAdapter extends StreamDebugAdapter {
|
|
102
|
+
constructor(socket) {
|
|
103
|
+
super(socket, socket);
|
|
104
|
+
this.socket = socket;
|
|
105
|
+
}
|
|
106
|
+
stop() {
|
|
107
|
+
return new Promise(resolve => {
|
|
108
|
+
this.socket.end(() => resolve());
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.SocketDebugAdapter = SocketDebugAdapter;
|
|
113
|
+
//# sourceMappingURL=stream-debug-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-debug-adapter.js","sourceRoot":"","sources":["../../src/node/stream-debug-adapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/debug",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0-next.15+c4c6cab0372",
|
|
4
4
|
"description": "Theia - Debug Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/console": "1.
|
|
7
|
-
"@theia/core": "1.
|
|
8
|
-
"@theia/editor": "1.
|
|
9
|
-
"@theia/filesystem": "1.
|
|
10
|
-
"@theia/markers": "1.
|
|
11
|
-
"@theia/monaco": "1.
|
|
12
|
-
"@theia/output": "1.
|
|
13
|
-
"@theia/preferences": "1.
|
|
14
|
-
"@theia/process": "1.
|
|
15
|
-
"@theia/task": "1.
|
|
16
|
-
"@theia/terminal": "1.
|
|
17
|
-
"@theia/userstorage": "1.
|
|
18
|
-
"@theia/variable-resolver": "1.
|
|
19
|
-
"@theia/workspace": "1.
|
|
6
|
+
"@theia/console": "1.21.0-next.15+c4c6cab0372",
|
|
7
|
+
"@theia/core": "1.21.0-next.15+c4c6cab0372",
|
|
8
|
+
"@theia/editor": "1.21.0-next.15+c4c6cab0372",
|
|
9
|
+
"@theia/filesystem": "1.21.0-next.15+c4c6cab0372",
|
|
10
|
+
"@theia/markers": "1.21.0-next.15+c4c6cab0372",
|
|
11
|
+
"@theia/monaco": "1.21.0-next.15+c4c6cab0372",
|
|
12
|
+
"@theia/output": "1.21.0-next.15+c4c6cab0372",
|
|
13
|
+
"@theia/preferences": "1.21.0-next.15+c4c6cab0372",
|
|
14
|
+
"@theia/process": "1.21.0-next.15+c4c6cab0372",
|
|
15
|
+
"@theia/task": "1.21.0-next.15+c4c6cab0372",
|
|
16
|
+
"@theia/terminal": "1.21.0-next.15+c4c6cab0372",
|
|
17
|
+
"@theia/userstorage": "1.21.0-next.15+c4c6cab0372",
|
|
18
|
+
"@theia/variable-resolver": "1.21.0-next.15+c4c6cab0372",
|
|
19
|
+
"@theia/workspace": "1.21.0-next.15+c4c6cab0372",
|
|
20
20
|
"jsonc-parser": "^2.2.0",
|
|
21
21
|
"mkdirp": "^0.5.0",
|
|
22
22
|
"p-debounce": "^2.1.0",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"nyc": {
|
|
70
70
|
"extends": "../../configs/nyc.json"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "c4c6cab037230fc05e39c7b124a681630c2f6a33"
|
|
73
73
|
}
|
|
@@ -72,13 +72,13 @@ export class DebugConsoleSession extends ConsoleSession {
|
|
|
72
72
|
this.completionKinds.set('file', monaco.languages.CompletionItemKind.File);
|
|
73
73
|
this.completionKinds.set('reference', monaco.languages.CompletionItemKind.Reference);
|
|
74
74
|
this.completionKinds.set('customcolor', monaco.languages.CompletionItemKind.Color);
|
|
75
|
-
monaco.languages.registerCompletionItemProvider({
|
|
75
|
+
this.toDispose.push(monaco.languages.registerCompletionItemProvider({
|
|
76
76
|
scheme: DebugConsoleSession.uri.scheme,
|
|
77
77
|
hasAccessToAllModels: true
|
|
78
78
|
}, {
|
|
79
79
|
triggerCharacters: ['.'],
|
|
80
80
|
provideCompletionItems: (model, position) => this.completions(model, position),
|
|
81
|
-
});
|
|
81
|
+
}));
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
getElements(): IterableIterator<ConsoleItem> {
|
|
@@ -646,11 +646,11 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
|
|
|
646
646
|
execute: (config?: DebugSessionOptions) => this.start(true, config)
|
|
647
647
|
});
|
|
648
648
|
registry.registerCommand(DebugCommands.STOP, {
|
|
649
|
-
execute: () => this.manager.
|
|
649
|
+
execute: () => this.manager.terminateSession(),
|
|
650
650
|
isEnabled: () => this.manager.state !== DebugState.Inactive
|
|
651
651
|
});
|
|
652
652
|
registry.registerCommand(DebugCommands.RESTART, {
|
|
653
|
-
execute: () => this.manager.
|
|
653
|
+
execute: () => this.manager.restartSession(),
|
|
654
654
|
isEnabled: () => this.manager.state !== DebugState.Inactive
|
|
655
655
|
});
|
|
656
656
|
|
|
@@ -722,12 +722,12 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
|
|
|
722
722
|
});
|
|
723
723
|
|
|
724
724
|
registry.registerCommand(DebugSessionContextCommands.STOP, {
|
|
725
|
-
execute: () => this.selectedSession && this.
|
|
725
|
+
execute: () => this.selectedSession && this.manager.terminateSession(this.selectedSession),
|
|
726
726
|
isEnabled: () => !!this.selectedSession && this.selectedSession.state !== DebugState.Inactive,
|
|
727
727
|
isVisible: () => !this.selectedThread
|
|
728
728
|
});
|
|
729
729
|
registry.registerCommand(DebugSessionContextCommands.RESTART, {
|
|
730
|
-
execute: () => this.selectedSession && this.manager.
|
|
730
|
+
execute: () => this.selectedSession && this.manager.restartSession(this.selectedSession),
|
|
731
731
|
isEnabled: () => !!this.selectedSession && this.selectedSession.state !== DebugState.Inactive,
|
|
732
732
|
isVisible: () => !this.selectedThread
|
|
733
733
|
});
|