@opensumi/ide-terminal-next 2.27.3-rc-1712113547.0 → 2.27.3-rc-1712755288.0
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.
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Injector } from '@opensumi/di';
|
|
2
2
|
import { OperatingSystem } from '@opensumi/ide-core-browser';
|
|
3
|
-
import { Event, IApplicationService, ILogger } from '@opensumi/ide-core-common';
|
|
3
|
+
import { Disposable, Event, IApplicationService, ILogger } from '@opensumi/ide-core-common';
|
|
4
4
|
import { IPtyExitEvent, IPtyProcessChangeEvent, IShellLaunchConfig, ITerminalConnection, ITerminalError, ITerminalProfile, ITerminalService, ITerminalServiceClient } from '../common';
|
|
5
5
|
import { XTerm } from './xterm';
|
|
6
6
|
export interface EventMessage {
|
|
7
7
|
data: string;
|
|
8
8
|
}
|
|
9
|
-
export declare class NodePtyTerminalService implements ITerminalService {
|
|
9
|
+
export declare class NodePtyTerminalService extends Disposable implements ITerminalService {
|
|
10
10
|
static countId: number;
|
|
11
11
|
private backendOs;
|
|
12
12
|
protected readonly injector: Injector;
|
|
@@ -54,6 +54,5 @@ export declare class NodePtyTerminalService implements ITerminalService {
|
|
|
54
54
|
getProfiles(autoDetect: boolean): Promise<ITerminalProfile[]>;
|
|
55
55
|
getCwd(sessionId: string): Promise<string | undefined>;
|
|
56
56
|
getDefaultSystemShell(): Promise<string>;
|
|
57
|
-
dispose(): void;
|
|
58
57
|
}
|
|
59
58
|
//# sourceMappingURL=terminal.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal.service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAqB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAc,UAAU,EAAW,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEjH,OAAO,EAGL,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EAKvB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,qBACa,sBAAuB,SAAQ,UAAW,YAAW,gBAAgB;IAChF,MAAM,CAAC,OAAO,SAAK;IAEnB,OAAO,CAAC,SAAS,CAA8B;IAG/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAGtC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAG5D,OAAO,CAAC,iBAAiB,CAAoB;IAG7C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IAE3D,OAAO,CAAC,QAAQ,CAAuD;IAChE,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAuB;IAE5D,OAAO,CAAC,OAAO,CAAsD;IAC9D,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAsB;IAEzD,OAAO,CAAC,gBAAgB,CAA+D;IAChF,eAAe,gCAA+B;IAErD,OAAO,CAAC,iBAAiB,CAAkD;IAC3E,OAAO,CAAC,iBAAiB,CAKvB;IAEF,iBAAiB;IAIX,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE;IAKzB,OAAO,CAAC,sBAAsB,CAY3B;IAEG,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,kBAAkB,EAChC,MAAM,EAAE,KAAK;IAoBf,OAAO,CAAC,YAAY;IAYd,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM3C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAOpD,kBAAkB,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM;IAIvB,YAAY,CAAC,SAAS,EAAE,MAAM;IAIpC;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAI5C;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAC7D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiB/F,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAI/C,KAAK;IAOL,WAAW,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAa7D,MAAM,CAAC,SAAS,EAAE,MAAM;IAQxB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG/C"}
|
|
@@ -3,26 +3,26 @@ var NodePtyTerminalService_1;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.NodePtyTerminalService = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
-
const event_kit_1 = require("event-kit");
|
|
7
6
|
const di_1 = require("@opensumi/di");
|
|
8
7
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
9
8
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
10
9
|
const common_1 = require("../common");
|
|
11
|
-
let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalService {
|
|
10
|
+
let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalService extends ide_core_common_1.Disposable {
|
|
12
11
|
constructor() {
|
|
13
|
-
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this._onError = this.registerDispose(new ide_core_common_1.Emitter());
|
|
14
14
|
this.onError = this._onError.event;
|
|
15
|
-
this._onExit = new ide_core_common_1.Emitter();
|
|
15
|
+
this._onExit = this.registerDispose(new ide_core_common_1.Emitter());
|
|
16
16
|
this.onExit = this._onExit.event;
|
|
17
|
-
this._onProcessChange = new ide_core_common_1.Emitter();
|
|
17
|
+
this._onProcessChange = this.registerDispose(new ide_core_common_1.Emitter());
|
|
18
18
|
this.onProcessChange = this._onProcessChange.event;
|
|
19
|
-
this._onDataDispatcher = new
|
|
20
|
-
this._onExitDispatcher = new
|
|
19
|
+
this._onDataDispatcher = this.registerDispose(new ide_core_common_1.Dispatcher());
|
|
20
|
+
this._onExitDispatcher = this.registerDispose(new ide_core_common_1.Dispatcher());
|
|
21
21
|
this._createCustomWebSocket = (sessionId, pty) => ({
|
|
22
22
|
name: pty.name,
|
|
23
23
|
readonly: false,
|
|
24
|
-
onData: (handler) => this._onDataDispatcher.on(sessionId
|
|
25
|
-
onExit: (handler) => this._onExitDispatcher.on(sessionId
|
|
24
|
+
onData: (handler) => this._onDataDispatcher.on(sessionId)(handler),
|
|
25
|
+
onExit: (handler) => this._onExitDispatcher.on(sessionId)((e) => {
|
|
26
26
|
handler(e.code);
|
|
27
27
|
}),
|
|
28
28
|
sendData: (message) => {
|
|
@@ -85,7 +85,7 @@ let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalSer
|
|
|
85
85
|
* @param message
|
|
86
86
|
*/
|
|
87
87
|
onMessage(sessionId, message) {
|
|
88
|
-
this._onDataDispatcher.
|
|
88
|
+
this._onDataDispatcher.dispatch(sessionId, message);
|
|
89
89
|
}
|
|
90
90
|
closeClient(sessionId, data, signal) {
|
|
91
91
|
this.logger.log(`${sessionId} was closed, error:`, data);
|
|
@@ -94,12 +94,12 @@ let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalSer
|
|
|
94
94
|
}
|
|
95
95
|
else if (typeof data === 'number') {
|
|
96
96
|
// 说明是 pty 报出来的正常退出
|
|
97
|
-
this._onExitDispatcher.
|
|
97
|
+
this._onExitDispatcher.dispatch(sessionId, { code: data, signal });
|
|
98
98
|
this._onExit.fire({ sessionId, code: data, signal });
|
|
99
99
|
}
|
|
100
100
|
else if (data) {
|
|
101
101
|
// 说明是 pty 报出来的正常退出
|
|
102
|
-
this._onExitDispatcher.
|
|
102
|
+
this._onExitDispatcher.dispatch(sessionId, { code: data.code, signal: data.signal });
|
|
103
103
|
this._onExit.fire({ sessionId, code: data.code, signal: data.signal });
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -131,10 +131,6 @@ let NodePtyTerminalService = NodePtyTerminalService_1 = class NodePtyTerminalSer
|
|
|
131
131
|
async getDefaultSystemShell() {
|
|
132
132
|
return await this.serviceClientRPC.getDefaultSystemShell(await this.getOS());
|
|
133
133
|
}
|
|
134
|
-
dispose() {
|
|
135
|
-
this._onDataDispatcher.dispose();
|
|
136
|
-
this._onExitDispatcher.dispose();
|
|
137
|
-
}
|
|
138
134
|
};
|
|
139
135
|
NodePtyTerminalService.countId = 1;
|
|
140
136
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"terminal.service.js","sourceRoot":"","sources":["../../src/browser/terminal.service.ts"],"names":[],"mappings":";;;;;AAAA,qCAA+E;AAC/E,iEAAgF;AAChF,+DAAiH;AAEjH,sCAemB;AASZ,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,4BAAU;IAA/C;;QAoBG,aAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAO,EAAkB,CAAC,CAAC;QAChE,YAAO,GAA0B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEpD,YAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAO,EAAiB,CAAC,CAAC;QAC9D,WAAM,GAAyB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAEjD,qBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAO,EAA0B,CAAC,CAAC;QAChF,oBAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAE7C,sBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,4BAAU,EAAU,CAAC,CAAC;QACnE,sBAAiB,GAAG,IAAI,CAAC,eAAe,CAC9C,IAAI,4BAAU,EAGV,CACL,CAAC;QAWM,2BAAsB,GAAG,CAAC,SAAiB,EAAE,GAAqB,EAAuB,EAAE,CAAC,CAAC;YACnG,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,CAAC,OAA8C,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACzG,MAAM,EAAE,CAAC,OAA+C,EAAE,EAAE,CAC1D,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC;YACJ,QAAQ,EAAE,CAAC,OAAe,EAAE,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;IAoIL,CAAC;IAzJC,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,8BAAqB,GAAG,IAAA,0BAAiB,GAAE,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAa;QACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACrE,OAAO,YAAY,CAAC;IACtB,CAAC;IAgBD,KAAK,CAAC,oBAAoB,CACxB,SAAiB,EACjB,IAAY,EACZ,IAAY,EACZ,YAAgC,EAChC,MAAa;QAEb,yEAAyE;QACzE,+EAA+E;QAC/E,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC5B,YAAY,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9D;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,SAAS,qBAAqB,EAAE,YAAY,CAAC,CAAC;QAEjF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7F,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;YACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,yBAAyB,WAAW,CAAC,GAAG,WAAW,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACnG,yBAAyB;YACzB,qCAAqC;YACrC,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC5D;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,4BAA4B,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAEO,YAAY,CAAC,SAAiB,EAAE,IAAS,EAAE,SAAkB;QACnE,MAAM,EAAE,GAAG,SAAS,IAAI,wBAAsB,CAAC,OAAO,EAAE,CAAC;QAEzD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC7B,SAAS,EACT,IAAI,CAAC,SAAS,iBACZ,EAAE,IACC,IAAI,EACP,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAe;QAC/C,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC3B,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAY;QACxD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC3B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,SAAiB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,SAAiB,EAAE,OAAe;QAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IASD,WAAW,CAAC,SAAiB,EAAE,IAAmE,EAAE,MAAe;QACjH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,mBAAmB;YACnB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;SACtD;aAAM,IAAI,IAAI,EAAE;YACf,mBAAmB;YACnB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACxE;IACH,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,WAAmB;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAmB;QACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACpD,GAAG,wEAAkC,GAAG,WAAW,EAAE,EACrD,EAAE,CACH,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;YACzD,UAAU;YACV,UAAU,EAAE,mBAAmB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACtD;QAAC,WAAM;YACN,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC;;AA5LM,8BAAO,GAAG,CAAC,CAAC;AAInB;IAAC,IAAA,cAAS,EAAC,mBAAc,CAAC;sCACG,aAAQ;wDAAC;AAEtC;IAAC,IAAA,cAAS,EAAC,yBAAO,CAAC;;sDACgB;AAEnC;IAAC,IAAA,cAAS,EAAC,6BAAoB,CAAC;;gEAC4B;AAE5D;IAAC,IAAA,cAAS,EAAC,oCAAiB,CAAC;;iEACgB;AAE7C;IAAC,IAAA,cAAS,EAAC,qCAAmB,CAAC;;kEAC4B;AAlBhD,sBAAsB;IADlC,IAAA,eAAU,GAAE;GACA,sBAAsB,CA8LlC;AA9LY,wDAAsB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-terminal-next",
|
|
3
|
-
"version": "2.27.3-rc-
|
|
3
|
+
"version": "2.27.3-rc-1712755288.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,11 +17,10 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "2.27.3-rc-
|
|
21
|
-
"@opensumi/ide-core-common": "2.27.3-rc-
|
|
22
|
-
"@opensumi/ide-core-node": "2.27.3-rc-
|
|
23
|
-
"@opensumi/ide-file-service": "2.27.3-rc-
|
|
24
|
-
"event-kit": "^2.5.3",
|
|
20
|
+
"@opensumi/ide-connection": "2.27.3-rc-1712755288.0",
|
|
21
|
+
"@opensumi/ide-core-common": "2.27.3-rc-1712755288.0",
|
|
22
|
+
"@opensumi/ide-core-node": "2.27.3-rc-1712755288.0",
|
|
23
|
+
"@opensumi/ide-file-service": "2.27.3-rc-1712755288.0",
|
|
25
24
|
"node-pty": "1.0.0",
|
|
26
25
|
"os-locale": "^4.0.0",
|
|
27
26
|
"xterm": "5.2.0",
|
|
@@ -31,19 +30,18 @@
|
|
|
31
30
|
"xterm-addon-webgl": "0.15.0"
|
|
32
31
|
},
|
|
33
32
|
"devDependencies": {
|
|
34
|
-
"@opensumi/ide-components": "2.27.3-rc-
|
|
35
|
-
"@opensumi/ide-core-browser": "2.27.3-rc-
|
|
36
|
-
"@opensumi/ide-dev-tool": "2.27.3-rc-
|
|
37
|
-
"@opensumi/ide-editor": "2.27.3-rc-
|
|
38
|
-
"@opensumi/ide-main-layout": "2.27.3-rc-
|
|
39
|
-
"@opensumi/ide-overlay": "2.27.3-rc-
|
|
40
|
-
"@opensumi/ide-status-bar": "2.27.3-rc-
|
|
41
|
-
"@opensumi/ide-theme": "2.27.3-rc-
|
|
42
|
-
"@opensumi/ide-variable": "2.27.3-rc-
|
|
43
|
-
"@opensumi/ide-workspace": "2.27.3-rc-
|
|
44
|
-
"@types/event-kit": "^2.4.0",
|
|
33
|
+
"@opensumi/ide-components": "2.27.3-rc-1712755288.0",
|
|
34
|
+
"@opensumi/ide-core-browser": "2.27.3-rc-1712755288.0",
|
|
35
|
+
"@opensumi/ide-dev-tool": "2.27.3-rc-1712755288.0",
|
|
36
|
+
"@opensumi/ide-editor": "2.27.3-rc-1712755288.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "2.27.3-rc-1712755288.0",
|
|
38
|
+
"@opensumi/ide-overlay": "2.27.3-rc-1712755288.0",
|
|
39
|
+
"@opensumi/ide-status-bar": "2.27.3-rc-1712755288.0",
|
|
40
|
+
"@opensumi/ide-theme": "2.27.3-rc-1712755288.0",
|
|
41
|
+
"@opensumi/ide-variable": "2.27.3-rc-1712755288.0",
|
|
42
|
+
"@opensumi/ide-workspace": "2.27.3-rc-1712755288.0",
|
|
45
43
|
"@types/http-proxy": "^1.17.2",
|
|
46
44
|
"http-proxy": "^1.18.0"
|
|
47
45
|
},
|
|
48
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "35d70628418e2fc41df91d8d39225d00b2711f77"
|
|
49
47
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { Emitter as Dispatcher } from 'event-kit';
|
|
2
|
-
|
|
3
1
|
import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
|
|
4
2
|
import { OperatingSystem, PreferenceService } from '@opensumi/ide-core-browser';
|
|
5
|
-
import { Emitter, Event, IApplicationService, ILogger } from '@opensumi/ide-core-common';
|
|
3
|
+
import { Dispatcher, Disposable, Emitter, Event, IApplicationService, ILogger } from '@opensumi/ide-core-common';
|
|
6
4
|
|
|
7
5
|
import {
|
|
8
6
|
IDetectProfileOptionsPreference,
|
|
@@ -28,7 +26,7 @@ export interface EventMessage {
|
|
|
28
26
|
data: string;
|
|
29
27
|
}
|
|
30
28
|
@Injectable()
|
|
31
|
-
export class NodePtyTerminalService implements ITerminalService {
|
|
29
|
+
export class NodePtyTerminalService extends Disposable implements ITerminalService {
|
|
32
30
|
static countId = 1;
|
|
33
31
|
|
|
34
32
|
private backendOs: OperatingSystem | undefined;
|
|
@@ -48,25 +46,22 @@ export class NodePtyTerminalService implements ITerminalService {
|
|
|
48
46
|
@Autowired(IApplicationService)
|
|
49
47
|
protected readonly applicationService: IApplicationService;
|
|
50
48
|
|
|
51
|
-
private _onError = new Emitter<ITerminalError>();
|
|
49
|
+
private _onError = this.registerDispose(new Emitter<ITerminalError>());
|
|
52
50
|
public onError: Event<ITerminalError> = this._onError.event;
|
|
53
51
|
|
|
54
|
-
private _onExit = new Emitter<IPtyExitEvent>();
|
|
52
|
+
private _onExit = this.registerDispose(new Emitter<IPtyExitEvent>());
|
|
55
53
|
public onExit: Event<IPtyExitEvent> = this._onExit.event;
|
|
56
54
|
|
|
57
|
-
private _onProcessChange = new Emitter<IPtyProcessChangeEvent>();
|
|
55
|
+
private _onProcessChange = this.registerDispose(new Emitter<IPtyProcessChangeEvent>());
|
|
58
56
|
public onProcessChange = this._onProcessChange.event;
|
|
59
57
|
|
|
60
|
-
private _onDataDispatcher = new Dispatcher<
|
|
61
|
-
private _onExitDispatcher =
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
>();
|
|
58
|
+
private _onDataDispatcher = this.registerDispose(new Dispatcher<string>());
|
|
59
|
+
private _onExitDispatcher = this.registerDispose(
|
|
60
|
+
new Dispatcher<{
|
|
61
|
+
code?: number;
|
|
62
|
+
signal?: number;
|
|
63
|
+
}>(),
|
|
64
|
+
);
|
|
70
65
|
|
|
71
66
|
generateSessionId() {
|
|
72
67
|
return this.applicationService.clientId + TERMINAL_ID_SEPARATOR + generateSessionId();
|
|
@@ -80,9 +75,9 @@ export class NodePtyTerminalService implements ITerminalService {
|
|
|
80
75
|
private _createCustomWebSocket = (sessionId: string, pty: INodePtyInstance): ITerminalConnection => ({
|
|
81
76
|
name: pty.name,
|
|
82
77
|
readonly: false,
|
|
83
|
-
onData: (handler: (value: string | ArrayBuffer) => void) => this._onDataDispatcher.on(sessionId
|
|
78
|
+
onData: (handler: (value: string | ArrayBuffer) => void) => this._onDataDispatcher.on(sessionId)(handler),
|
|
84
79
|
onExit: (handler: (exitCode: number | undefined) => void) =>
|
|
85
|
-
this._onExitDispatcher.on(sessionId
|
|
80
|
+
this._onExitDispatcher.on(sessionId)((e) => {
|
|
86
81
|
handler(e.code);
|
|
87
82
|
}),
|
|
88
83
|
sendData: (message: string) => {
|
|
@@ -160,7 +155,7 @@ export class NodePtyTerminalService implements ITerminalService {
|
|
|
160
155
|
* @param message
|
|
161
156
|
*/
|
|
162
157
|
onMessage(sessionId: string, message: string) {
|
|
163
|
-
this._onDataDispatcher.
|
|
158
|
+
this._onDataDispatcher.dispatch(sessionId, message);
|
|
164
159
|
}
|
|
165
160
|
|
|
166
161
|
/**
|
|
@@ -177,11 +172,11 @@ export class NodePtyTerminalService implements ITerminalService {
|
|
|
177
172
|
this._onError.fire(data);
|
|
178
173
|
} else if (typeof data === 'number') {
|
|
179
174
|
// 说明是 pty 报出来的正常退出
|
|
180
|
-
this._onExitDispatcher.
|
|
175
|
+
this._onExitDispatcher.dispatch(sessionId, { code: data, signal });
|
|
181
176
|
this._onExit.fire({ sessionId, code: data, signal });
|
|
182
177
|
} else if (data) {
|
|
183
178
|
// 说明是 pty 报出来的正常退出
|
|
184
|
-
this._onExitDispatcher.
|
|
179
|
+
this._onExitDispatcher.dispatch(sessionId, { code: data.code, signal: data.signal });
|
|
185
180
|
this._onExit.fire({ sessionId, code: data.code, signal: data.signal });
|
|
186
181
|
}
|
|
187
182
|
}
|
|
@@ -221,9 +216,4 @@ export class NodePtyTerminalService implements ITerminalService {
|
|
|
221
216
|
async getDefaultSystemShell(): Promise<string> {
|
|
222
217
|
return await this.serviceClientRPC.getDefaultSystemShell(await this.getOS());
|
|
223
218
|
}
|
|
224
|
-
|
|
225
|
-
dispose() {
|
|
226
|
-
this._onDataDispatcher.dispose();
|
|
227
|
-
this._onExitDispatcher.dispose();
|
|
228
|
-
}
|
|
229
219
|
}
|