@theia/debug 1.18.0-next.88 → 1.18.0-next.89
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/node/debug-adapter-contribution-registry.d.ts +1 -1
- package/lib/node/debug-adapter-contribution-registry.d.ts.map +1 -1
- package/lib/node/debug-adapter-contribution-registry.js +1 -1
- package/lib/node/debug-adapter-contribution-registry.js.map +1 -1
- package/lib/node/debug-adapter-factory.d.ts +1 -1
- package/lib/node/debug-adapter-factory.d.ts.map +1 -1
- package/lib/node/debug-adapter-factory.js +8 -10
- package/lib/node/debug-adapter-factory.js.map +1 -1
- package/lib/node/debug-adapter-session-manager.d.ts +1 -1
- package/lib/node/debug-adapter-session-manager.d.ts.map +1 -1
- package/lib/node/debug-adapter-session-manager.js +1 -1
- package/lib/node/debug-adapter-session-manager.js.map +1 -1
- package/lib/node/debug-adapter-session.d.ts +1 -7
- package/lib/node/debug-adapter-session.d.ts.map +1 -1
- package/lib/node/debug-adapter-session.js +4 -48
- package/lib/node/debug-adapter-session.js.map +1 -1
- package/lib/node/debug-backend-module.js +1 -1
- package/lib/node/debug-backend-module.js.map +1 -1
- package/lib/{common → node}/debug-model.d.ts +6 -5
- package/lib/node/debug-model.d.ts.map +1 -0
- package/lib/{common → node}/debug-model.js +0 -0
- package/lib/node/debug-model.js.map +1 -0
- package/lib/node/inline-communication-provider.d.ts +33 -0
- package/lib/node/inline-communication-provider.d.ts.map +1 -0
- package/lib/node/inline-communication-provider.js +43 -0
- package/lib/node/inline-communication-provider.js.map +1 -0
- package/lib/node/stream-communication-provider.d.ts +38 -0
- package/lib/node/stream-communication-provider.d.ts.map +1 -0
- package/lib/node/stream-communication-provider.js +88 -0
- package/lib/node/stream-communication-provider.js.map +1 -0
- package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts +1 -1
- package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/node/debug-adapter-contribution-registry.ts +1 -1
- package/src/node/debug-adapter-factory.ts +10 -11
- package/src/node/debug-adapter-session-manager.ts +1 -1
- package/src/node/debug-adapter-session.ts +8 -57
- package/src/node/debug-backend-module.ts +1 -1
- package/src/{common → node}/debug-model.ts +6 -4
- package/src/node/inline-communication-provider.ts +44 -0
- package/src/node/stream-communication-provider.ts +93 -0
- package/src/node/vscode/vscode-debug-adapter-contribution.ts +1 -1
- package/lib/common/debug-model.d.ts.map +0 -1
- package/lib/common/debug-model.js.map +0 -1
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { ContributionProvider } from '@theia/core';
|
|
17
17
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
18
18
|
import { DebuggerDescription } from '../common/debug-service';
|
|
19
|
-
import { DebugAdapterContribution, DebugAdapterExecutable, DebugAdapterSessionFactory } from '
|
|
19
|
+
import { DebugAdapterContribution, DebugAdapterExecutable, DebugAdapterSessionFactory } from './debug-model';
|
|
20
20
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
21
21
|
/**
|
|
22
22
|
* Contributions registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-contribution-registry.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAc,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"debug-adapter-contribution-registry.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAGlF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAc,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAErF;;GAEG;AACH,qBACa,gCAAgC;IAGzC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACjF,SAAS,CAAE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAAC,wBAAwB,CAAC;IAQ1F;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,UAAU,IAAI,MAAM,EAAE;IAWhB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgB/E;;;;OAIG;IACG,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAe/G;;;;;OAKG;IACG,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBrH;;;;;OAKG;IACG,iDAAiD,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmB7I;;;;OAIG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAa9D,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAc/D;;;;;OAKG;IACG,6BAA6B,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAYhG;;;;OAIG;IACH,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS;CAQxF"}
|
|
@@ -28,7 +28,7 @@ exports.DebugAdapterContributionRegistry = void 0;
|
|
|
28
28
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
29
29
|
const core_1 = require("@theia/core");
|
|
30
30
|
const debug_service_1 = require("../common/debug-service");
|
|
31
|
-
const debug_model_1 = require("
|
|
31
|
+
const debug_model_1 = require("./debug-model");
|
|
32
32
|
/**
|
|
33
33
|
* Contributions registry.
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-contribution-registry.js","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,4DAAyE;AACzE,sCAAmD;AAEnD,2DAA0E;AAE1E
|
|
1
|
+
{"version":3,"file":"debug-adapter-contribution-registry.js","sourceRoot":"","sources":["../../src/node/debug-adapter-contribution-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,4DAAyE;AACzE,sCAAmD;AAEnD,2DAA0E;AAE1E,+CAA6G;AAG7G;;GAEG;AAEH,IAAa,gCAAgC,GAA7C,MAAa,gCAAgC;IAI/B,CAAC,gBAAgB,CAAC,SAAiB;QACzC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE;YAC9D,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,EAAE;gBACnF,MAAM,YAAY,CAAC;aACtB;SACJ;IACL,CAAC;IAOD,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;YACjC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE;gBAC9D,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB;QAC1C,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE;YAC9D,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,EAAE;gBAC9C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;gBACvC,IAAI,KAAK,IAAI,CAAC,MAAM,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBACxE,SAAS,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,YAAY,CAAC,IAAI;wBACvB,KAAK;qBACR,CAAC,CAAC;iBACN;aACJ;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,0BAA0B,CAAC,SAAiB,EAAE,kBAA2B;QAC3E,MAAM,cAAc,GAAyB,EAAE,CAAC;QAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACzD,IAAI,YAAY,CAAC,0BAA0B,EAAE;gBACzC,IAAI;oBACA,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;oBACjF,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;iBAClC;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;iBAC1D;aACJ;SACJ;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,yBAAyB,CAAC,MAA0B,EAAE,kBAA2B;QACnF,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,YAAY,CAAC,yBAAyB,EAAE;gBACxC,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;oBACtF,IAAI,IAAI,EAAE;wBACN,OAAO,GAAG,IAAI,CAAC;qBAClB;yBAAM;wBACH,OAAO,OAAO,CAAC;qBAClB;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;iBACzD;aACJ;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iDAAiD,CAAC,MAA0B,EAAE,kBAA2B;QAC3G,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,YAAY,CAAC,iDAAiD,EAAE;gBAChE,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,iDAAiD,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;oBAC9G,IAAI,IAAI,EAAE;wBACN,OAAO,GAAG,IAAI,CAAC;qBAClB;yBAAM;wBACH,OAAO,OAAO,CAAC;qBAClB;iBACJ;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,CAAC,CAAC,CAAC;iBACjF;aACJ;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACvC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACzD,IAAI,YAAY,CAAC,mBAAmB,EAAE;gBAClC,IAAI;oBACA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBAC7D;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;iBACnD;aACJ;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,wBAAwB;QAC1B,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;YACnD,IAAI,YAAY,CAAC,wBAAwB,EAAE;gBACvC,IAAI;oBACA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,YAAY,CAAC,wBAAwB,EAAE,CAAC,CAAC;iBAClE;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;iBACxD;aACJ;SACJ;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,6BAA6B,CAAC,MAA0B;QAC1D,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC3D,IAAI,YAAY,CAAC,6BAA6B,EAAE;gBAC5C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;gBAC5E,IAAI,UAAU,EAAE;oBACZ,OAAO,UAAU,CAAC;iBACrB;aACJ;SACJ;QACD,MAAM,0BAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,0BAA0B,CAAC,SAAiB;QACxC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;YACzD,IAAI,YAAY,CAAC,0BAA0B,EAAE;gBACzC,OAAO,YAAY,CAAC,0BAA0B,CAAC;aAClD;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ,CAAA;AA9KG;IADC,kBAAM,CAAC,2BAAoB,CAAC;IAAE,iBAAK,CAAC,sCAAwB,CAAC;;uEACmB;AAHxE,gCAAgC;IAD5C,sBAAU,EAAE;GACA,gCAAgC,CAiL5C;AAjLY,4EAAgC"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { RawProcessFactory, ProcessManager } from '@theia/process/lib/node';
|
|
17
|
-
import { DebugAdapterExecutable, CommunicationProvider, DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from '
|
|
17
|
+
import { DebugAdapterExecutable, CommunicationProvider, DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from './debug-model';
|
|
18
18
|
/**
|
|
19
19
|
* [DebugAdapterFactory](#DebugAdapterFactory) implementation based on
|
|
20
20
|
* launching the debug adapter as separate process.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-factory.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAWlF,OAAO,EACH,iBAAiB,EACjB,cAAc,EAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EAEtB,MAAM,
|
|
1
|
+
{"version":3,"file":"debug-adapter-factory.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAWlF,OAAO,EACH,iBAAiB,EACjB,cAAc,EAIjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EAEtB,MAAM,eAAe,CAAC;AAMvB;;;GAGG;AACH,qBACa,8BAA+B,YAAW,mBAAmB;IAEtE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAErD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,KAAK,CAAC,UAAU,EAAE,sBAAsB,GAAG,qBAAqB;IAShE,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,qBAAqB;CAQ1D;AAED;;GAEG;AACH,qBACa,8BAA+B,YAAW,0BAA0B;IAE7E,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,GAAG,mBAAmB;CAM5F"}
|
|
@@ -35,6 +35,8 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
35
35
|
const node_1 = require("@theia/process/lib/node");
|
|
36
36
|
const debug_adapter_session_1 = require("./debug-adapter-session");
|
|
37
37
|
const application_package_1 = require("@theia/core/shared/@theia/application-package");
|
|
38
|
+
const stream_communication_provider_1 = require("./stream-communication-provider");
|
|
39
|
+
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
38
40
|
/**
|
|
39
41
|
* [DebugAdapterFactory](#DebugAdapterFactory) implementation based on
|
|
40
42
|
* launching the debug adapter as separate process.
|
|
@@ -43,11 +45,9 @@ let LaunchBasedDebugAdapterFactory = class LaunchBasedDebugAdapterFactory {
|
|
|
43
45
|
start(executable) {
|
|
44
46
|
const process = this.childProcess(executable);
|
|
45
47
|
// FIXME: propagate onError + onExit
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
dispose: () => process.kill()
|
|
50
|
-
};
|
|
48
|
+
const provider = new stream_communication_provider_1.StreamCommunicationProvider(process.outputStream, process.inputStream);
|
|
49
|
+
provider.push(disposable_1.Disposable.create(() => process.kill()));
|
|
50
|
+
return provider;
|
|
51
51
|
}
|
|
52
52
|
childProcess(executable) {
|
|
53
53
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -65,11 +65,9 @@ let LaunchBasedDebugAdapterFactory = class LaunchBasedDebugAdapterFactory {
|
|
|
65
65
|
connect(debugServerPort) {
|
|
66
66
|
const socket = net.createConnection(debugServerPort);
|
|
67
67
|
// FIXME: propagate socket.on('error', ...) + socket.on('close', ...)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
dispose: () => socket.end()
|
|
72
|
-
};
|
|
68
|
+
const provider = new stream_communication_provider_1.StreamCommunicationProvider(socket, socket);
|
|
69
|
+
provider.push(disposable_1.Disposable.create(() => socket.end()));
|
|
70
|
+
return provider;
|
|
73
71
|
}
|
|
74
72
|
};
|
|
75
73
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-factory.js","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF;;;gGAGgG;AAEhG,mIAAmI;AAEnI,2BAA2B;AAC3B,4DAAkE;AAClE,kDAMiC;AASjC,mEAAkE;AAClE,uFAA4E;
|
|
1
|
+
{"version":3,"file":"debug-adapter-factory.js","sourceRoot":"","sources":["../../src/node/debug-adapter-factory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF;;;gGAGgG;AAEhG,mIAAmI;AAEnI,2BAA2B;AAC3B,4DAAkE;AAClE,kDAMiC;AASjC,mEAAkE;AAClE,uFAA4E;AAC5E,mFAA8E;AAC9E,kEAA+D;AAE/D;;;GAGG;AAEH,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAMvC,KAAK,CAAC,UAAkC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE9C,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,2DAA2B,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5F,QAAQ,CAAC,IAAI,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,UAAkC;QACnD,8DAA8D;QAC9D,MAAM,aAAa,GAAG,CAAC,WAAiC,EAAiC,EAAE,CACvF,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;QAE9C,MAAM,cAAc,qBAA4C,UAAU,CAAE,CAAC;QAC7E,MAAM,OAAO,GAAsE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;QAElH,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;YAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,GAAG,iCAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAClD,OAAO,CAAC,QAAQ,GAAI,UAAyC,CAAC,QAAQ,CAAC;SAC1E;QAED,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,eAAuB;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACrD,qEAAqE;QAErE,MAAM,QAAQ,GAAG,IAAI,2DAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AAvCG;IADC,kBAAM,CAAC,wBAAiB,CAAC;;sEAC2B;AAErD;IADC,kBAAM,CAAC,qBAAc,CAAC;8BACY,qBAAc;sEAAC;AAJzC,8BAA8B;IAD1C,sBAAU,EAAE;GACA,8BAA8B,CAyC1C;AAzCY,wEAA8B;AA2C3C;;GAEG;AAEH,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAEvC,GAAG,CAAC,SAAiB,EAAE,qBAA4C;QAC/D,OAAO,IAAI,+CAAuB,CAC9B,SAAS,EACT,qBAAqB,CACxB,CAAC;IACN,CAAC;CACJ,CAAA;AARY,8BAA8B;IAD1C,sBAAU,EAAE;GACA,8BAA8B,CAQ1C;AARY,wEAA8B"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
import { MessagingService } from '@theia/core/lib/node/messaging/messaging-service';
|
|
17
17
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
18
|
-
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from '
|
|
18
|
+
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from './debug-model';
|
|
19
19
|
import { DebugAdapterContributionRegistry } from './debug-adapter-contribution-registry';
|
|
20
20
|
/**
|
|
21
21
|
* Debug adapter session manager.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session-manager.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"debug-adapter-session-manager.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAGpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAEzF;;GAEG;AACH,qBACa,0BAA2B,YAAW,gBAAgB,CAAC,YAAY;IAC5E,SAAS,CAAC,QAAQ,CAAC,QAAQ,mCAA0C;IAGrE,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAG1E,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAY1C;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,gCAAgC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyBlH;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAIxD;;;OAGG;IACH,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC;CAGlD"}
|
|
@@ -28,7 +28,7 @@ exports.DebugAdapterSessionManager = void 0;
|
|
|
28
28
|
const coreutils_1 = require("@theia/core/shared/@phosphor/coreutils");
|
|
29
29
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
30
30
|
const debug_service_1 = require("../common/debug-service");
|
|
31
|
-
const debug_model_1 = require("
|
|
31
|
+
const debug_model_1 = require("./debug-model");
|
|
32
32
|
/**
|
|
33
33
|
* Debug adapter session manager.
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session-manager.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,sEAA8D;AAC9D,4DAAkE;AAGlE,2DAA2D;AAE3D
|
|
1
|
+
{"version":3,"file":"debug-adapter-session-manager.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,sEAA8D;AAC9D,4DAAkE;AAGlE,2DAA2D;AAE3D,+CAAqG;AAGrG;;GAEG;AAEH,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IAAvC;QACuB,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IA4EzE,CAAC;IApEG,SAAS,CAAC,OAAyB;QAC/B,OAAO,CAAC,SAAS,CAAC,GAAG,gCAAgB,MAAM,EAAE,CAAC,EAAE,EAAE,EAAkB,EAAE,OAAO,EAAE,EAAE;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;aACV;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B,EAAE,QAA0C;QAC/E,MAAM,SAAS,GAAG,gBAAI,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,qBAAqB,CAAC;QAC1B,IAAI,aAAa,IAAI,MAAM,EAAE;YACzB,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAChF;aAAM;YACH,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YACxE,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtE;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC3G,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,aAAa,EAAE;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,aAAa,EAAE;gBACf,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;aACzC;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAiB;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAiB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;CACJ,CAAA;AAzEG;IADC,kBAAM,CAAC,wCAA0B,CAAC;;8EACuC;AAG1E;IADC,kBAAM,CAAC,iCAAmB,CAAC;;uEACgC;AAPnD,0BAA0B;IADtC,sBAAU,EAAE;GACA,0BAA0B,CA6EtC;AA7EY,gEAA0B"}
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
|
|
17
|
-
import { CommunicationProvider, DebugAdapterSession } from '../common/debug-model';
|
|
16
|
+
import { CommunicationProvider, DebugAdapterSession } from './debug-model';
|
|
18
17
|
import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
|
|
19
18
|
/**
|
|
20
19
|
* [DebugAdapterSession](#DebugAdapterSession) implementation.
|
|
@@ -22,17 +21,12 @@ import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
|
|
|
22
21
|
export declare class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
23
22
|
readonly id: string;
|
|
24
23
|
protected readonly communicationProvider: CommunicationProvider;
|
|
25
|
-
private static TWO_CRLF;
|
|
26
|
-
private static CONTENT_LENGTH;
|
|
27
24
|
private readonly toDispose;
|
|
28
25
|
private channel;
|
|
29
|
-
private contentLength;
|
|
30
|
-
private buffer;
|
|
31
26
|
constructor(id: string, communicationProvider: CommunicationProvider);
|
|
32
27
|
start(channel: IWebSocket): Promise<void>;
|
|
33
28
|
protected onDebugAdapterExit(exitCode: number, signal: string | undefined): void;
|
|
34
29
|
protected onDebugAdapterError(error: Error): void;
|
|
35
|
-
protected handleData(data: Buffer): void;
|
|
36
30
|
protected send(message: string): void;
|
|
37
31
|
protected write(message: string): void;
|
|
38
32
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF
|
|
1
|
+
{"version":3,"file":"debug-adapter-session.d.ts","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AASlF,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAM3D,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IALnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,OAAO,CAAyB;gBAG3B,EAAE,EAAE,MAAM,EACA,qBAAqB,EAAE,qBAAqB;IAc7D,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYhF,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAUjD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMrC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -25,13 +25,14 @@ class DebugAdapterSessionImpl {
|
|
|
25
25
|
this.id = id;
|
|
26
26
|
this.communicationProvider = communicationProvider;
|
|
27
27
|
this.toDispose = new disposable_1.DisposableCollection();
|
|
28
|
-
this.contentLength = -1;
|
|
29
|
-
this.buffer = Buffer.alloc(0);
|
|
30
28
|
this.toDispose.pushAll([
|
|
31
29
|
this.communicationProvider,
|
|
32
30
|
disposable_1.Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'disconnect' }))),
|
|
33
31
|
disposable_1.Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'terminate' })))
|
|
34
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));
|
|
35
36
|
}
|
|
36
37
|
async start(channel) {
|
|
37
38
|
if (this.channel) {
|
|
@@ -40,10 +41,6 @@ class DebugAdapterSessionImpl {
|
|
|
40
41
|
this.channel = channel;
|
|
41
42
|
this.channel.onMessage((message) => this.write(message));
|
|
42
43
|
this.channel.onClose(() => this.channel = undefined);
|
|
43
|
-
this.communicationProvider.output.on('data', (data) => this.handleData(data));
|
|
44
|
-
this.communicationProvider.output.on('close', () => this.onDebugAdapterExit(1, undefined)); // FIXME pass a proper exit code
|
|
45
|
-
this.communicationProvider.output.on('error', error => this.onDebugAdapterError(error));
|
|
46
|
-
this.communicationProvider.input.on('error', error => this.onDebugAdapterError(error));
|
|
47
44
|
}
|
|
48
45
|
onDebugAdapterExit(exitCode, signal) {
|
|
49
46
|
const event = {
|
|
@@ -65,58 +62,17 @@ class DebugAdapterSessionImpl {
|
|
|
65
62
|
};
|
|
66
63
|
this.send(JSON.stringify(event));
|
|
67
64
|
}
|
|
68
|
-
handleData(data) {
|
|
69
|
-
this.buffer = Buffer.concat([this.buffer, data]);
|
|
70
|
-
while (true) {
|
|
71
|
-
if (this.contentLength >= 0) {
|
|
72
|
-
if (this.buffer.length >= this.contentLength) {
|
|
73
|
-
const message = this.buffer.toString('utf8', 0, this.contentLength);
|
|
74
|
-
this.buffer = this.buffer.slice(this.contentLength);
|
|
75
|
-
this.contentLength = -1;
|
|
76
|
-
if (message.length > 0) {
|
|
77
|
-
this.send(message);
|
|
78
|
-
}
|
|
79
|
-
continue; // there may be more complete messages to process
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
let idx = this.buffer.indexOf(DebugAdapterSessionImpl.CONTENT_LENGTH);
|
|
84
|
-
if (idx > 0) {
|
|
85
|
-
// log unrecognized output
|
|
86
|
-
const output = this.buffer.slice(0, idx);
|
|
87
|
-
console.log(output.toString('utf-8'));
|
|
88
|
-
this.buffer = this.buffer.slice(idx);
|
|
89
|
-
}
|
|
90
|
-
idx = this.buffer.indexOf(DebugAdapterSessionImpl.TWO_CRLF);
|
|
91
|
-
if (idx !== -1) {
|
|
92
|
-
const header = this.buffer.toString('utf8', 0, idx);
|
|
93
|
-
const lines = header.split('\r\n');
|
|
94
|
-
for (let i = 0; i < lines.length; i++) {
|
|
95
|
-
const pair = lines[i].split(/: +/);
|
|
96
|
-
if (pair[0] === DebugAdapterSessionImpl.CONTENT_LENGTH) {
|
|
97
|
-
this.contentLength = +pair[1];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
this.buffer = this.buffer.slice(idx + DebugAdapterSessionImpl.TWO_CRLF.length);
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
65
|
send(message) {
|
|
108
66
|
if (this.channel) {
|
|
109
67
|
this.channel.send(message);
|
|
110
68
|
}
|
|
111
69
|
}
|
|
112
70
|
write(message) {
|
|
113
|
-
this.communicationProvider.
|
|
71
|
+
this.communicationProvider.send(message);
|
|
114
72
|
}
|
|
115
73
|
async stop() {
|
|
116
74
|
this.toDispose.dispose();
|
|
117
75
|
}
|
|
118
76
|
}
|
|
119
77
|
exports.DebugAdapterSessionImpl = DebugAdapterSessionImpl;
|
|
120
|
-
DebugAdapterSessionImpl.TWO_CRLF = '\r\n\r\n';
|
|
121
|
-
DebugAdapterSessionImpl.CONTENT_LENGTH = 'Content-Length';
|
|
122
78
|
//# sourceMappingURL=debug-adapter-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-adapter-session.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAelF,kEAAqF;AAErF;;GAEG;AACH,MAAa,uBAAuB;
|
|
1
|
+
{"version":3,"file":"debug-adapter-session.js","sourceRoot":"","sources":["../../src/node/debug-adapter-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ const debug_service_1 = require("../common/debug-service");
|
|
|
21
21
|
const debug_adapter_factory_1 = require("./debug-adapter-factory");
|
|
22
22
|
const messaging_service_1 = require("@theia/core/lib/node/messaging/messaging-service");
|
|
23
23
|
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
24
|
-
const debug_model_1 = require("
|
|
24
|
+
const debug_model_1 = require("./debug-model");
|
|
25
25
|
const debug_service_impl_1 = require("./debug-service-impl");
|
|
26
26
|
const debug_adapter_contribution_registry_1 = require("./debug-adapter-contribution-registry");
|
|
27
27
|
const debug_adapter_session_manager_1 = require("./debug-adapter-session-manager");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-backend-module.js","sourceRoot":"","sources":["../../src/node/debug-backend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,mDAA2E;AAC3E,4DAA+D;AAC/D,2DAGiC;AACjC,mEAGiC;AACjC,wFAAoF;AACpF,4GAAuG;AACvG
|
|
1
|
+
{"version":3,"file":"debug-backend-module.js","sourceRoot":"","sources":["../../src/node/debug-backend-module.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,mDAA2E;AAC3E,4DAA+D;AAC/D,2DAGiC;AACjC,mEAGiC;AACjC,wFAAoF;AACpF,4GAAuG;AACvG,+CAIuB;AACvB,6DAAwD;AACxD,+FAAyF;AACzF,mFAA6E;AAE7E,MAAM,qBAAqB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE;IAC5F,iCAAwB,CAAC,IAAI,EAAE,sCAAwB,CAAC,CAAC;IACzD,IAAI,CAAC,sEAAgC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAEnE,IAAI,CAAC,4BAAY,CAAC,CAAC,EAAE,CAAC,qCAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC3D,kBAAkB,CAAC,yBAAS,EAAE,4BAAY,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAEvE,IAAI,CAAC,wCAA0B,CAAC,CAAC,EAAE,CAAC,sDAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvF,IAAI,CAAC,iCAAmB,CAAC,CAAC,EAAE,CAAC,sDAA8B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAChF,IAAI,CAAC,0DAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,oCAAgB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,0DAA0B,CAAC,CAAC;IAE1E,IAAI,CAAC,gBAAO,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAC3C,SAAS,CAAC,GAAG,CAAU,gBAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CACjD,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC"}
|
|
@@ -13,13 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
/// <reference types="node" />
|
|
17
|
-
import * as stream from 'stream';
|
|
18
16
|
import { WebSocketChannel } from '@theia/core/lib/common/messaging/web-socket-channel';
|
|
19
|
-
import { DebugConfiguration } from '
|
|
17
|
+
import { DebugConfiguration } from '../common/debug-configuration';
|
|
20
18
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
21
19
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
22
20
|
import { MaybePromise } from '@theia/core/lib/common/types';
|
|
21
|
+
import { Event } from '@theia/core/lib/common/event';
|
|
23
22
|
/**
|
|
24
23
|
* DebugAdapterSession symbol for DI.
|
|
25
24
|
*/
|
|
@@ -78,8 +77,10 @@ export declare type DebugAdapterExecutable = DebugAdapterSpawnExecutable | Debug
|
|
|
78
77
|
* TODO: the better name is DebugStreamConnection + handling on error and close
|
|
79
78
|
*/
|
|
80
79
|
export interface CommunicationProvider extends Disposable {
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
onMessageReceived: Event<string>;
|
|
81
|
+
onError: Event<Error>;
|
|
82
|
+
onClose: Event<void>;
|
|
83
|
+
send(message: string): void;
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
86
|
* DebugAdapterFactory symbol for DI.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-model.d.ts","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-model.js","sourceRoot":"","sources":["../../src/node/debug-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAiBlF,kHAAkH;AAElH;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAYjE;;GAEG;AACU,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAqD/E;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAUjE;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2021 Red Hat, Inc. and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
import { Event } from '@theia/core/lib/common/event';
|
|
17
|
+
import { CommunicationProvider } from './debug-model';
|
|
18
|
+
import * as theia from '@theia/plugin';
|
|
19
|
+
/**
|
|
20
|
+
* A communication provider for using the inline implementation of a debug adapter.
|
|
21
|
+
*/
|
|
22
|
+
export declare class InlineCommunicationProvider implements CommunicationProvider {
|
|
23
|
+
private debugAdapter;
|
|
24
|
+
private messageReceivedEmitter;
|
|
25
|
+
onMessageReceived: Event<string>;
|
|
26
|
+
onError: Event<Error>;
|
|
27
|
+
private closeEmitter;
|
|
28
|
+
onClose: Event<void>;
|
|
29
|
+
constructor(debugAdapter: theia.DebugAdapter);
|
|
30
|
+
send(message: string): void;
|
|
31
|
+
dispose(): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=inline-communication-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-communication-provider.d.ts","sourceRoot":"","sources":["../../src/node/inline-communication-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,qBAAa,2BAA4B,YAAW,qBAAqB;IAOzD,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;IAMpD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,IAAI,IAAI;CAGlB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (C) 2021 Red Hat, Inc. 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 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.InlineCommunicationProvider = void 0;
|
|
19
|
+
const event_1 = require("@theia/core/lib/common/event");
|
|
20
|
+
/**
|
|
21
|
+
* A communication provider for using the inline implementation of a debug adapter.
|
|
22
|
+
*/
|
|
23
|
+
class InlineCommunicationProvider {
|
|
24
|
+
constructor(debugAdapter) {
|
|
25
|
+
this.debugAdapter = debugAdapter;
|
|
26
|
+
this.messageReceivedEmitter = new event_1.Emitter();
|
|
27
|
+
this.onMessageReceived = this.messageReceivedEmitter.event;
|
|
28
|
+
this.onError = event_1.Event.None;
|
|
29
|
+
this.closeEmitter = new event_1.Emitter();
|
|
30
|
+
this.onClose = this.closeEmitter.event;
|
|
31
|
+
this.debugAdapter.onDidSendMessage(msg => {
|
|
32
|
+
this.messageReceivedEmitter.fire(JSON.stringify(msg));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
send(message) {
|
|
36
|
+
this.debugAdapter.handleMessage(JSON.parse(message));
|
|
37
|
+
}
|
|
38
|
+
dispose() {
|
|
39
|
+
this.debugAdapter.dispose();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.InlineCommunicationProvider = InlineCommunicationProvider;
|
|
43
|
+
//# sourceMappingURL=inline-communication-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-communication-provider.js","sourceRoot":"","sources":["../../src/node/inline-communication-provider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,wDAA8D;AAI9D;;GAEG;AACH,MAAa,2BAA2B;IAOpC,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,IAAI,CAAC,OAAe;QAChB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACJ;AApBD,kEAoBC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2021 Red Hat, Inc. and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
/// <reference types="node" />
|
|
17
|
+
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
18
|
+
import { Event } from '@theia/core/lib/common/event';
|
|
19
|
+
import * as stream from 'stream';
|
|
20
|
+
import { CommunicationProvider } from './debug-model';
|
|
21
|
+
export declare class StreamCommunicationProvider extends DisposableCollection implements CommunicationProvider {
|
|
22
|
+
private fromAdapter;
|
|
23
|
+
private toAdapter;
|
|
24
|
+
private messageReceivedEmitter;
|
|
25
|
+
onMessageReceived: Event<string>;
|
|
26
|
+
private errorEmitter;
|
|
27
|
+
onError: Event<Error>;
|
|
28
|
+
private closeEmitter;
|
|
29
|
+
onClose: Event<void>;
|
|
30
|
+
private static TWO_CRLF;
|
|
31
|
+
private static CONTENT_LENGTH;
|
|
32
|
+
private contentLength;
|
|
33
|
+
private buffer;
|
|
34
|
+
constructor(fromAdapter: stream.Readable, toAdapter: stream.Writable);
|
|
35
|
+
send(message: string): void;
|
|
36
|
+
protected handleData(data: Buffer): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=stream-communication-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-communication-provider.d.ts","sourceRoot":"","sources":["../../src/node/stream-communication-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAW,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,qBAAa,2BAA4B,SAAQ,oBAAqB,YAAW,qBAAqB;IActF,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,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM3B,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CA0C3C"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/********************************************************************************
|
|
3
|
+
* Copyright (C) 2021 Red Hat, Inc. 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 WITH Classpath-exception-2.0
|
|
16
|
+
********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.StreamCommunicationProvider = void 0;
|
|
19
|
+
const disposable_1 = require("@theia/core/lib/common/disposable");
|
|
20
|
+
const event_1 = require("@theia/core/lib/common/event");
|
|
21
|
+
class StreamCommunicationProvider extends disposable_1.DisposableCollection {
|
|
22
|
+
constructor(fromAdapter, toAdapter) {
|
|
23
|
+
super();
|
|
24
|
+
this.fromAdapter = fromAdapter;
|
|
25
|
+
this.toAdapter = toAdapter;
|
|
26
|
+
this.messageReceivedEmitter = new event_1.Emitter();
|
|
27
|
+
this.onMessageReceived = this.messageReceivedEmitter.event;
|
|
28
|
+
this.errorEmitter = new event_1.Emitter();
|
|
29
|
+
this.onError = this.errorEmitter.event;
|
|
30
|
+
this.closeEmitter = new event_1.Emitter();
|
|
31
|
+
this.onClose = this.closeEmitter.event;
|
|
32
|
+
this.contentLength = -1;
|
|
33
|
+
this.buffer = Buffer.alloc(0);
|
|
34
|
+
this.fromAdapter.on('data', (data) => this.handleData(data));
|
|
35
|
+
this.fromAdapter.on('close', () => this.closeEmitter.fire()); // FIXME pass a proper exit code
|
|
36
|
+
this.fromAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
37
|
+
this.toAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
38
|
+
}
|
|
39
|
+
;
|
|
40
|
+
send(message) {
|
|
41
|
+
const msg = `${StreamCommunicationProvider.CONTENT_LENGTH}: ${Buffer.byteLength(message, 'utf8')}${StreamCommunicationProvider.TWO_CRLF}${message}`;
|
|
42
|
+
this.toAdapter.write(msg, 'utf8');
|
|
43
|
+
}
|
|
44
|
+
handleData(data) {
|
|
45
|
+
this.buffer = Buffer.concat([this.buffer, data]);
|
|
46
|
+
while (true) {
|
|
47
|
+
if (this.contentLength >= 0) {
|
|
48
|
+
if (this.buffer.length >= this.contentLength) {
|
|
49
|
+
const message = this.buffer.toString('utf8', 0, this.contentLength);
|
|
50
|
+
this.buffer = this.buffer.slice(this.contentLength);
|
|
51
|
+
this.contentLength = -1;
|
|
52
|
+
if (message.length > 0) {
|
|
53
|
+
this.messageReceivedEmitter.fire(message);
|
|
54
|
+
}
|
|
55
|
+
continue; // there may be more complete messages to process
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
let idx = this.buffer.indexOf(StreamCommunicationProvider.CONTENT_LENGTH);
|
|
60
|
+
if (idx > 0) {
|
|
61
|
+
// log unrecognized output
|
|
62
|
+
const output = this.buffer.slice(0, idx);
|
|
63
|
+
console.log(output.toString('utf-8'));
|
|
64
|
+
this.buffer = this.buffer.slice(idx);
|
|
65
|
+
}
|
|
66
|
+
idx = this.buffer.indexOf(StreamCommunicationProvider.TWO_CRLF);
|
|
67
|
+
if (idx !== -1) {
|
|
68
|
+
const header = this.buffer.toString('utf8', 0, idx);
|
|
69
|
+
const lines = header.split('\r\n');
|
|
70
|
+
for (let i = 0; i < lines.length; i++) {
|
|
71
|
+
const pair = lines[i].split(/: +/);
|
|
72
|
+
if (pair[0] === StreamCommunicationProvider.CONTENT_LENGTH) {
|
|
73
|
+
this.contentLength = +pair[1];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
this.buffer = this.buffer.slice(idx + StreamCommunicationProvider.TWO_CRLF.length);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.StreamCommunicationProvider = StreamCommunicationProvider;
|
|
85
|
+
// these constants are for the message header, see: https://microsoft.github.io/debug-adapter-protocol/overview#header-part
|
|
86
|
+
StreamCommunicationProvider.TWO_CRLF = '\r\n\r\n';
|
|
87
|
+
StreamCommunicationProvider.CONTENT_LENGTH = 'Content-Length';
|
|
88
|
+
//# sourceMappingURL=stream-communication-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-communication-provider.js","sourceRoot":"","sources":["../../src/node/stream-communication-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
|
-
import { DebugAdapterExecutable, DebugAdapterContribution } from '
|
|
16
|
+
import { DebugAdapterExecutable, DebugAdapterContribution } from '../debug-model';
|
|
17
17
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
18
18
|
export interface VSCodeExtensionPackage {
|
|
19
19
|
contributes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-debug-adapter-contribution.d.ts","sourceRoot":"","sources":["../../../src/node/vscode/vscode-debug-adapter-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vscode-debug-adapter-contribution.d.ts","sourceRoot":"","sources":["../../../src/node/vscode/vscode-debug-adapter-contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAIlF,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAgBrF,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE;QACT,SAAS,EAAE,0BAA0B,EAAE,CAAA;KAC1C,CAAA;CACJ;AACD,MAAM,WAAW,yCAAyC;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AACD,MAAM,WAAW,0BAA2B,SAAQ,yCAAyC;IACzF,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC5C,uBAAuB,CAAC,EAAE;QACtB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KACjC,CAAA;IACD,GAAG,CAAC,EAAE,yCAAyC,CAAC;IAChD,MAAM,CAAC,EAAE,yCAAyC,CAAC;IACnD,OAAO,CAAC,EAAE,yCAAyC,CAAC;IACpD,GAAG,CAAC,EAAE,yCAAyC,CAAC;IAChD,KAAK,CAAC,EAAE,yCAAyC,CAAC;CACrD;AAED,yBAAiB,0BAA0B,CAAC;IACxC,SAAgB,cAAc,CAAC,UAAU,EAAE,0BAA0B,GAAG,yCAAyC,GAAG,SAAS,CAW5H;CACJ;AAED,8BACsB,sCAAuC,YAAW,wBAAwB;IAU3E,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,aAAa,EAAE,MAAM;IAT/C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE7E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;gBAGxB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM;cAU/B,KAAK,IAAI,OAAO,CAAC,sBAAsB,CAAC;cAexC,2BAA2B,IAAI,OAAO,CAAC,0BAA0B,CAAC;IASlF,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,SAAS,CAAC;IACzD,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;cAGnC,uBAAuB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAsF3D,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAKzD,6BAA6B,IAAI,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;CA+BrF"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/debug",
|
|
3
|
-
"version": "1.18.0-next.
|
|
3
|
+
"version": "1.18.0-next.89+8c6875851fc",
|
|
4
4
|
"description": "Theia - Debug Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/console": "1.18.0-next.
|
|
7
|
-
"@theia/core": "1.18.0-next.
|
|
8
|
-
"@theia/editor": "1.18.0-next.
|
|
9
|
-
"@theia/filesystem": "1.18.0-next.
|
|
10
|
-
"@theia/markers": "1.18.0-next.
|
|
11
|
-
"@theia/monaco": "1.18.0-next.
|
|
12
|
-
"@theia/output": "1.18.0-next.
|
|
13
|
-
"@theia/preferences": "1.18.0-next.
|
|
14
|
-
"@theia/process": "1.18.0-next.
|
|
15
|
-
"@theia/task": "1.18.0-next.
|
|
16
|
-
"@theia/terminal": "1.18.0-next.
|
|
17
|
-
"@theia/userstorage": "1.18.0-next.
|
|
18
|
-
"@theia/variable-resolver": "1.18.0-next.
|
|
19
|
-
"@theia/workspace": "1.18.0-next.
|
|
6
|
+
"@theia/console": "1.18.0-next.89+8c6875851fc",
|
|
7
|
+
"@theia/core": "1.18.0-next.89+8c6875851fc",
|
|
8
|
+
"@theia/editor": "1.18.0-next.89+8c6875851fc",
|
|
9
|
+
"@theia/filesystem": "1.18.0-next.89+8c6875851fc",
|
|
10
|
+
"@theia/markers": "1.18.0-next.89+8c6875851fc",
|
|
11
|
+
"@theia/monaco": "1.18.0-next.89+8c6875851fc",
|
|
12
|
+
"@theia/output": "1.18.0-next.89+8c6875851fc",
|
|
13
|
+
"@theia/preferences": "1.18.0-next.89+8c6875851fc",
|
|
14
|
+
"@theia/process": "1.18.0-next.89+8c6875851fc",
|
|
15
|
+
"@theia/task": "1.18.0-next.89+8c6875851fc",
|
|
16
|
+
"@theia/terminal": "1.18.0-next.89+8c6875851fc",
|
|
17
|
+
"@theia/userstorage": "1.18.0-next.89+8c6875851fc",
|
|
18
|
+
"@theia/variable-resolver": "1.18.0-next.89+8c6875851fc",
|
|
19
|
+
"@theia/workspace": "1.18.0-next.89+8c6875851fc",
|
|
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": "8c6875851fca9dafadbb2eac7df4f2327128f1fd"
|
|
73
73
|
}
|
|
@@ -19,7 +19,7 @@ import { ContributionProvider } from '@theia/core';
|
|
|
19
19
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
20
20
|
import { DebuggerDescription, DebugError } from '../common/debug-service';
|
|
21
21
|
|
|
22
|
-
import { DebugAdapterContribution, DebugAdapterExecutable, DebugAdapterSessionFactory } from '
|
|
22
|
+
import { DebugAdapterContribution, DebugAdapterExecutable, DebugAdapterSessionFactory } from './debug-model';
|
|
23
23
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -37,9 +37,11 @@ import {
|
|
|
37
37
|
DebugAdapterSessionFactory,
|
|
38
38
|
DebugAdapterFactory,
|
|
39
39
|
DebugAdapterForkExecutable
|
|
40
|
-
} from '
|
|
40
|
+
} from './debug-model';
|
|
41
41
|
import { DebugAdapterSessionImpl } from './debug-adapter-session';
|
|
42
42
|
import { environment } from '@theia/core/shared/@theia/application-package';
|
|
43
|
+
import { StreamCommunicationProvider } from './stream-communication-provider';
|
|
44
|
+
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
43
45
|
|
|
44
46
|
/**
|
|
45
47
|
* [DebugAdapterFactory](#DebugAdapterFactory) implementation based on
|
|
@@ -56,11 +58,9 @@ export class LaunchBasedDebugAdapterFactory implements DebugAdapterFactory {
|
|
|
56
58
|
const process = this.childProcess(executable);
|
|
57
59
|
|
|
58
60
|
// FIXME: propagate onError + onExit
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
dispose: () => process.kill()
|
|
63
|
-
};
|
|
61
|
+
const provider = new StreamCommunicationProvider(process.outputStream, process.inputStream);
|
|
62
|
+
provider.push(Disposable.create(() => process.kill()));
|
|
63
|
+
return provider;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
private childProcess(executable: DebugAdapterExecutable): RawProcess {
|
|
@@ -84,11 +84,10 @@ export class LaunchBasedDebugAdapterFactory implements DebugAdapterFactory {
|
|
|
84
84
|
connect(debugServerPort: number): CommunicationProvider {
|
|
85
85
|
const socket = net.createConnection(debugServerPort);
|
|
86
86
|
// FIXME: propagate socket.on('error', ...) + socket.on('close', ...)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
};
|
|
87
|
+
|
|
88
|
+
const provider = new StreamCommunicationProvider(socket, socket);
|
|
89
|
+
provider.push(Disposable.create(() => socket.end()));
|
|
90
|
+
return provider;
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
|
|
@@ -20,7 +20,7 @@ import { MessagingService } from '@theia/core/lib/node/messaging/messaging-servi
|
|
|
20
20
|
|
|
21
21
|
import { DebugAdapterPath } from '../common/debug-service';
|
|
22
22
|
import { DebugConfiguration } from '../common/debug-configuration';
|
|
23
|
-
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from '
|
|
23
|
+
import { DebugAdapterSession, DebugAdapterSessionFactory, DebugAdapterFactory } from './debug-model';
|
|
24
24
|
import { DebugAdapterContributionRegistry } from './debug-adapter-contribution-registry';
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
import {
|
|
25
25
|
CommunicationProvider,
|
|
26
|
-
DebugAdapterSession
|
|
27
|
-
} from '
|
|
26
|
+
DebugAdapterSession
|
|
27
|
+
} from './debug-model';
|
|
28
28
|
import { DebugProtocol } from 'vscode-debugprotocol';
|
|
29
29
|
import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
|
|
30
30
|
import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposable';
|
|
@@ -34,25 +34,23 @@ import { DisposableCollection, Disposable } from '@theia/core/lib/common/disposa
|
|
|
34
34
|
*/
|
|
35
35
|
export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
36
36
|
|
|
37
|
-
private static TWO_CRLF = '\r\n\r\n';
|
|
38
|
-
private static CONTENT_LENGTH = 'Content-Length';
|
|
39
|
-
|
|
40
37
|
private readonly toDispose = new DisposableCollection();
|
|
41
38
|
private channel: IWebSocket | undefined;
|
|
42
|
-
private contentLength: number;
|
|
43
|
-
private buffer: Buffer;
|
|
44
39
|
|
|
45
40
|
constructor(
|
|
46
41
|
readonly id: string,
|
|
47
42
|
protected readonly communicationProvider: CommunicationProvider
|
|
48
43
|
) {
|
|
49
|
-
this.contentLength = -1;
|
|
50
|
-
this.buffer = Buffer.alloc(0);
|
|
51
44
|
this.toDispose.pushAll([
|
|
52
45
|
this.communicationProvider,
|
|
53
46
|
Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'disconnect' }))),
|
|
54
47
|
Disposable.create(() => this.write(JSON.stringify({ seq: -1, type: 'request', command: 'terminate' })))
|
|
55
48
|
]);
|
|
49
|
+
|
|
50
|
+
this.communicationProvider.onMessageReceived((message: string) => this.send(message));
|
|
51
|
+
this.communicationProvider.onClose(() => this.onDebugAdapterExit(1, undefined)); // FIXME pass a proper exit code
|
|
52
|
+
this.communicationProvider.onError(error => this.onDebugAdapterError(error));
|
|
53
|
+
|
|
56
54
|
}
|
|
57
55
|
|
|
58
56
|
async start(channel: IWebSocket): Promise<void> {
|
|
@@ -63,10 +61,6 @@ export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
|
63
61
|
this.channel.onMessage((message: string) => this.write(message));
|
|
64
62
|
this.channel.onClose(() => this.channel = undefined);
|
|
65
63
|
|
|
66
|
-
this.communicationProvider.output.on('data', (data: Buffer) => this.handleData(data));
|
|
67
|
-
this.communicationProvider.output.on('close', () => this.onDebugAdapterExit(1, undefined)); // FIXME pass a proper exit code
|
|
68
|
-
this.communicationProvider.output.on('error', error => this.onDebugAdapterError(error));
|
|
69
|
-
this.communicationProvider.input.on('error', error => this.onDebugAdapterError(error));
|
|
70
64
|
}
|
|
71
65
|
|
|
72
66
|
protected onDebugAdapterExit(exitCode: number, signal: string | undefined): void {
|
|
@@ -91,49 +85,6 @@ export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
|
91
85
|
this.send(JSON.stringify(event));
|
|
92
86
|
}
|
|
93
87
|
|
|
94
|
-
protected handleData(data: Buffer): void {
|
|
95
|
-
this.buffer = Buffer.concat([this.buffer, data]);
|
|
96
|
-
|
|
97
|
-
while (true) {
|
|
98
|
-
if (this.contentLength >= 0) {
|
|
99
|
-
if (this.buffer.length >= this.contentLength) {
|
|
100
|
-
const message = this.buffer.toString('utf8', 0, this.contentLength);
|
|
101
|
-
this.buffer = this.buffer.slice(this.contentLength);
|
|
102
|
-
this.contentLength = -1;
|
|
103
|
-
|
|
104
|
-
if (message.length > 0) {
|
|
105
|
-
this.send(message);
|
|
106
|
-
}
|
|
107
|
-
continue; // there may be more complete messages to process
|
|
108
|
-
}
|
|
109
|
-
} else {
|
|
110
|
-
let idx = this.buffer.indexOf(DebugAdapterSessionImpl.CONTENT_LENGTH);
|
|
111
|
-
if (idx > 0) {
|
|
112
|
-
// log unrecognized output
|
|
113
|
-
const output = this.buffer.slice(0, idx);
|
|
114
|
-
console.log(output.toString('utf-8'));
|
|
115
|
-
|
|
116
|
-
this.buffer = this.buffer.slice(idx);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
idx = this.buffer.indexOf(DebugAdapterSessionImpl.TWO_CRLF);
|
|
120
|
-
if (idx !== -1) {
|
|
121
|
-
const header = this.buffer.toString('utf8', 0, idx);
|
|
122
|
-
const lines = header.split('\r\n');
|
|
123
|
-
for (let i = 0; i < lines.length; i++) {
|
|
124
|
-
const pair = lines[i].split(/: +/);
|
|
125
|
-
if (pair[0] === DebugAdapterSessionImpl.CONTENT_LENGTH) {
|
|
126
|
-
this.contentLength = +pair[1];
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
this.buffer = this.buffer.slice(idx + DebugAdapterSessionImpl.TWO_CRLF.length);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
88
|
protected send(message: string): void {
|
|
138
89
|
if (this.channel) {
|
|
139
90
|
this.channel.send(message);
|
|
@@ -141,7 +92,7 @@ export class DebugAdapterSessionImpl implements DebugAdapterSession {
|
|
|
141
92
|
}
|
|
142
93
|
|
|
143
94
|
protected write(message: string): void {
|
|
144
|
-
this.communicationProvider.
|
|
95
|
+
this.communicationProvider.send(message);
|
|
145
96
|
}
|
|
146
97
|
|
|
147
98
|
async stop(): Promise<void> {
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
DebugAdapterContribution,
|
|
31
31
|
DebugAdapterSessionFactory,
|
|
32
32
|
DebugAdapterFactory
|
|
33
|
-
} from '
|
|
33
|
+
} from './debug-model';
|
|
34
34
|
import { DebugServiceImpl } from './debug-service-impl';
|
|
35
35
|
import { DebugAdapterContributionRegistry } from './debug-adapter-contribution-registry';
|
|
36
36
|
import { DebugAdapterSessionManager } from './debug-adapter-session-manager';
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
// Some entities copied and modified from https://github.com/Microsoft/vscode/blob/master/src/vs/vscode.d.ts
|
|
23
23
|
// Some entities copied and modified from https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/parts/debug/common/debug.ts
|
|
24
24
|
|
|
25
|
-
import * as stream from 'stream';
|
|
26
25
|
import { WebSocketChannel } from '@theia/core/lib/common/messaging/web-socket-channel';
|
|
27
|
-
import { DebugConfiguration } from '
|
|
26
|
+
import { DebugConfiguration } from '../common/debug-configuration';
|
|
28
27
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
29
28
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
30
29
|
import { MaybePromise } from '@theia/core/lib/common/types';
|
|
30
|
+
import { Event } from '@theia/core/lib/common/event';
|
|
31
31
|
|
|
32
32
|
// FIXME: break down this file to debug adapter and debug adapter contribution (see Theia file naming conventions)
|
|
33
33
|
|
|
@@ -96,8 +96,10 @@ export type DebugAdapterExecutable = DebugAdapterSpawnExecutable | DebugAdapterF
|
|
|
96
96
|
* TODO: the better name is DebugStreamConnection + handling on error and close
|
|
97
97
|
*/
|
|
98
98
|
export interface CommunicationProvider extends Disposable {
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
onMessageReceived: Event<string>;
|
|
100
|
+
onError: Event<Error>;
|
|
101
|
+
onClose: Event<void>;
|
|
102
|
+
send(message: string): void;
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
/**
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2021 Red Hat, Inc. and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
|
|
17
|
+
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
18
|
+
import { CommunicationProvider } from './debug-model';
|
|
19
|
+
import * as theia from '@theia/plugin';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A communication provider for using the inline implementation of a debug adapter.
|
|
23
|
+
*/
|
|
24
|
+
export class InlineCommunicationProvider implements CommunicationProvider {
|
|
25
|
+
private messageReceivedEmitter = new Emitter<string>();
|
|
26
|
+
onMessageReceived: Event<string> = this.messageReceivedEmitter.event;
|
|
27
|
+
onError: Event<Error> = Event.None;
|
|
28
|
+
private closeEmitter = new Emitter<void>();
|
|
29
|
+
onClose: Event<void> = this.closeEmitter.event;
|
|
30
|
+
|
|
31
|
+
constructor(private debugAdapter: theia.DebugAdapter) {
|
|
32
|
+
this.debugAdapter.onDidSendMessage(msg => {
|
|
33
|
+
this.messageReceivedEmitter.fire(JSON.stringify(msg));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
send(message: string): void {
|
|
38
|
+
this.debugAdapter.handleMessage(JSON.parse(message));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
dispose(): void {
|
|
42
|
+
this.debugAdapter.dispose();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (C) 2021 Red Hat, Inc. and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
*
|
|
8
|
+
* This Source Code may also be made available under the following Secondary
|
|
9
|
+
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
* with the GNU Classpath Exception which is available at
|
|
12
|
+
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
*
|
|
14
|
+
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
+
********************************************************************************/
|
|
16
|
+
|
|
17
|
+
import { DisposableCollection } from '@theia/core/lib/common/disposable';
|
|
18
|
+
import { Emitter, Event } from '@theia/core/lib/common/event';
|
|
19
|
+
import * as stream from 'stream';
|
|
20
|
+
import { CommunicationProvider } from './debug-model';
|
|
21
|
+
|
|
22
|
+
export class StreamCommunicationProvider extends DisposableCollection implements CommunicationProvider {
|
|
23
|
+
private messageReceivedEmitter = new Emitter<string>();
|
|
24
|
+
onMessageReceived: Event<string> = this.messageReceivedEmitter.event;
|
|
25
|
+
private errorEmitter = new Emitter<Error>();
|
|
26
|
+
onError: Event<Error> = this.errorEmitter.event;
|
|
27
|
+
private closeEmitter = new Emitter<void>();
|
|
28
|
+
onClose: Event<void> = this.closeEmitter.event;
|
|
29
|
+
|
|
30
|
+
// these constants are for the message header, see: https://microsoft.github.io/debug-adapter-protocol/overview#header-part
|
|
31
|
+
private static TWO_CRLF = '\r\n\r\n';
|
|
32
|
+
private static CONTENT_LENGTH = 'Content-Length';
|
|
33
|
+
private contentLength: number = -1;
|
|
34
|
+
private buffer: Buffer = Buffer.alloc(0);
|
|
35
|
+
|
|
36
|
+
constructor(private fromAdapter: stream.Readable, private toAdapter: stream.Writable) {
|
|
37
|
+
super();
|
|
38
|
+
|
|
39
|
+
this.fromAdapter.on('data', (data: Buffer) => this.handleData(data));
|
|
40
|
+
this.fromAdapter.on('close', () => this.closeEmitter.fire()); // FIXME pass a proper exit code
|
|
41
|
+
this.fromAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
42
|
+
this.toAdapter.on('error', error => this.errorEmitter.fire(error));
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
send(message: string): void {
|
|
46
|
+
const msg = `${StreamCommunicationProvider.CONTENT_LENGTH}: ${Buffer.byteLength(message, 'utf8')}${StreamCommunicationProvider.TWO_CRLF}${message}`;
|
|
47
|
+
|
|
48
|
+
this.toAdapter.write(msg, 'utf8');
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
protected handleData(data: Buffer): void {
|
|
52
|
+
this.buffer = Buffer.concat([this.buffer, data]);
|
|
53
|
+
|
|
54
|
+
while (true) {
|
|
55
|
+
if (this.contentLength >= 0) {
|
|
56
|
+
if (this.buffer.length >= this.contentLength) {
|
|
57
|
+
const message = this.buffer.toString('utf8', 0, this.contentLength);
|
|
58
|
+
this.buffer = this.buffer.slice(this.contentLength);
|
|
59
|
+
this.contentLength = -1;
|
|
60
|
+
|
|
61
|
+
if (message.length > 0) {
|
|
62
|
+
this.messageReceivedEmitter.fire(message);
|
|
63
|
+
}
|
|
64
|
+
continue; // there may be more complete messages to process
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
let idx = this.buffer.indexOf(StreamCommunicationProvider.CONTENT_LENGTH);
|
|
68
|
+
if (idx > 0) {
|
|
69
|
+
// log unrecognized output
|
|
70
|
+
const output = this.buffer.slice(0, idx);
|
|
71
|
+
console.log(output.toString('utf-8'));
|
|
72
|
+
|
|
73
|
+
this.buffer = this.buffer.slice(idx);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
idx = this.buffer.indexOf(StreamCommunicationProvider.TWO_CRLF);
|
|
77
|
+
if (idx !== -1) {
|
|
78
|
+
const header = this.buffer.toString('utf8', 0, idx);
|
|
79
|
+
const lines = header.split('\r\n');
|
|
80
|
+
for (let i = 0; i < lines.length; i++) {
|
|
81
|
+
const pair = lines[i].split(/: +/);
|
|
82
|
+
if (pair[0] === StreamCommunicationProvider.CONTENT_LENGTH) {
|
|
83
|
+
this.contentLength = +pair[1];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.buffer = this.buffer.slice(idx + StreamCommunicationProvider.TWO_CRLF.length);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
18
18
|
import * as path from 'path';
|
|
19
|
-
import { DebugAdapterExecutable, DebugAdapterContribution } from '
|
|
19
|
+
import { DebugAdapterExecutable, DebugAdapterContribution } from '../debug-model';
|
|
20
20
|
import { isWindows, isOSX } from '@theia/core/lib/common/os';
|
|
21
21
|
import { IJSONSchema, IJSONSchemaSnippet } from '@theia/core/lib/common/json-schema';
|
|
22
22
|
import { deepClone } from '@theia/core/lib/common/objects';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-model.d.ts","sourceRoot":"","sources":["../../src/common/debug-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-model.js","sourceRoot":"","sources":["../../src/common/debug-model.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAiBlF,kHAAkH;AAElH;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAYjE;;GAEG;AACU,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAmD/E;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAUjE;;GAEG;AACU,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|