@theia/terminal 1.27.0-next.9 → 1.27.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.
- package/lib/browser/terminal-theme-service.d.ts +7 -2
- package/lib/browser/terminal-theme-service.d.ts.map +1 -1
- package/lib/browser/terminal-theme-service.js +6 -2
- package/lib/browser/terminal-theme-service.js.map +1 -1
- package/lib/browser/terminal-widget-impl.d.ts +2 -3
- package/lib/browser/terminal-widget-impl.d.ts.map +1 -1
- package/lib/browser/terminal-widget-impl.js +11 -7
- package/lib/browser/terminal-widget-impl.js.map +1 -1
- package/lib/node/terminal-backend-contribution.d.ts.map +1 -1
- package/lib/node/terminal-backend-contribution.js +17 -8
- package/lib/node/terminal-backend-contribution.js.map +1 -1
- package/lib/node/terminal-backend-contribution.slow-spec.js +8 -5
- package/lib/node/terminal-backend-contribution.slow-spec.js.map +1 -1
- package/package.json +8 -8
- package/src/browser/terminal-theme-service.ts +9 -4
- package/src/browser/terminal-widget-impl.ts +15 -11
- package/src/node/terminal-backend-contribution.slow-spec.ts +12 -6
- package/src/node/terminal-backend-contribution.ts +18 -9
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { ITheme } from 'xterm';
|
|
2
|
-
import { ColorRegistry
|
|
2
|
+
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
3
|
+
import { ColorDefaults } from '@theia/core/lib/common/color';
|
|
4
|
+
import { ThemeService } from '@theia/core/lib/browser/theming';
|
|
5
|
+
import { ThemeChangeEvent } from '@theia/core/lib/common/theme';
|
|
6
|
+
import { Event } from '@theia/core';
|
|
3
7
|
/**
|
|
4
8
|
* It should be aligned with https://github.com/microsoft/vscode/blob/0dfa355b3ad185a6289ba28a99c141ab9e72d2be/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.ts#L40
|
|
5
9
|
*/
|
|
@@ -11,7 +15,8 @@ export declare const terminalAnsiColorMap: {
|
|
|
11
15
|
};
|
|
12
16
|
export declare class TerminalThemeService {
|
|
13
17
|
protected readonly colorRegistry: ColorRegistry;
|
|
14
|
-
readonly
|
|
18
|
+
protected readonly themeService: ThemeService;
|
|
19
|
+
get onDidChange(): Event<ThemeChangeEvent>;
|
|
15
20
|
get theme(): ITheme;
|
|
16
21
|
}
|
|
17
22
|
//# sourceMappingURL=terminal-theme-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-theme-service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"terminal-theme-service.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,CAAA;CAiI7F,CAAC;AAEF,qBACa,oBAAoB;IAEN,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAEpE,IAAI,WAAW,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAEzC;IAED,IAAI,KAAK,IAAI,MAAM,CAsBlB;CAEJ"}
|
|
@@ -162,8 +162,8 @@ exports.terminalAnsiColorMap = {
|
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
let TerminalThemeService = class TerminalThemeService {
|
|
165
|
-
|
|
166
|
-
this.
|
|
165
|
+
get onDidChange() {
|
|
166
|
+
return this.themeService.onDidColorThemeChange;
|
|
167
167
|
}
|
|
168
168
|
get theme() {
|
|
169
169
|
const foregroundColor = this.colorRegistry.getCurrentColor('terminal.foreground');
|
|
@@ -192,6 +192,10 @@ __decorate([
|
|
|
192
192
|
(0, inversify_1.inject)(color_registry_1.ColorRegistry),
|
|
193
193
|
__metadata("design:type", color_registry_1.ColorRegistry)
|
|
194
194
|
], TerminalThemeService.prototype, "colorRegistry", void 0);
|
|
195
|
+
__decorate([
|
|
196
|
+
(0, inversify_1.inject)(theming_1.ThemeService),
|
|
197
|
+
__metadata("design:type", theming_1.ThemeService)
|
|
198
|
+
], TerminalThemeService.prototype, "themeService", void 0);
|
|
195
199
|
TerminalThemeService = __decorate([
|
|
196
200
|
(0, inversify_1.injectable)()
|
|
197
201
|
], TerminalThemeService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-theme-service.js","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAGhF,4DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"terminal-theme-service.js","sourceRoot":"","sources":["../../src/browser/terminal-theme-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { Terminal } from 'xterm';
|
|
2
2
|
import { FitAddon } from 'xterm-addon-fit';
|
|
3
|
-
import { ContributionProvider, Event, Emitter, ILogger, DisposableCollection } from '@theia/core';
|
|
3
|
+
import { ContributionProvider, Event, Emitter, ILogger, DisposableCollection, RpcProtocol } from '@theia/core';
|
|
4
4
|
import { Widget, Message, WebSocketConnectionProvider, StatefulWidget } from '@theia/core/lib/browser';
|
|
5
5
|
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
6
6
|
import { ShellTerminalServerProxy, IShellTerminalPreferences } from '../common/shell-terminal-protocol';
|
|
7
7
|
import { TerminalProcessInfo } from '../common/base-terminal-protocol';
|
|
8
8
|
import { TerminalWatcher } from '../common/terminal-watcher';
|
|
9
9
|
import { TerminalWidgetOptions, TerminalWidget, TerminalDimensions, TerminalExitStatus } from './base/terminal-widget';
|
|
10
|
-
import { MessageConnection } from '@theia/core/shared/vscode-ws-jsonrpc';
|
|
11
10
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
12
11
|
import { TerminalPreferences } from './terminal-preferences';
|
|
13
12
|
import { TerminalContribution } from './terminal-contribution';
|
|
@@ -32,7 +31,7 @@ export declare class TerminalWidgetImpl extends TerminalWidget implements Statef
|
|
|
32
31
|
protected searchBox: TerminalSearchWidget;
|
|
33
32
|
protected restored: boolean;
|
|
34
33
|
protected closeOnDispose: boolean;
|
|
35
|
-
protected waitForConnection: Deferred<
|
|
34
|
+
protected waitForConnection: Deferred<RpcProtocol> | undefined;
|
|
36
35
|
protected hoverMessage: HTMLDivElement;
|
|
37
36
|
protected lastTouchEnd: TouchEvent | undefined;
|
|
38
37
|
protected isAttachedCloseListener: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-widget-impl.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAgB,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAc,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-widget-impl.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -440,21 +440,25 @@ let TerminalWidgetImpl = TerminalWidgetImpl_1 = class TerminalWidgetImpl extends
|
|
|
440
440
|
this.webSocketConnectionProvider.listen({
|
|
441
441
|
path: `${terminal_protocol_1.terminalsPath}/${this.terminalId}`,
|
|
442
442
|
onConnection: connection => {
|
|
443
|
-
|
|
443
|
+
const requestHandler = _method => this.logger.warn('Received an unhandled RPC request from the terminal process');
|
|
444
|
+
const rpc = new core_1.RpcProtocol(connection, requestHandler);
|
|
445
|
+
rpc.onNotification(event => {
|
|
446
|
+
if (event.method === 'onData') {
|
|
447
|
+
this.write(event.args[0]);
|
|
448
|
+
}
|
|
449
|
+
});
|
|
444
450
|
// Excludes the device status code emitted by Xterm.js
|
|
445
451
|
const sendData = (data) => {
|
|
446
452
|
if (data && !this.deviceStatusCodes.has(data) && !this.disableEnterWhenAttachCloseListener()) {
|
|
447
|
-
return
|
|
453
|
+
return rpc.sendRequest('write', [data]);
|
|
448
454
|
}
|
|
449
455
|
};
|
|
450
456
|
const disposable = new core_1.DisposableCollection();
|
|
451
457
|
disposable.push(this.term.onData(sendData));
|
|
452
458
|
disposable.push(this.term.onBinary(sendData));
|
|
453
|
-
connection.
|
|
454
|
-
this.toDisposeOnConnect.push(connection);
|
|
455
|
-
connection.listen();
|
|
459
|
+
connection.onClose(() => disposable.dispose());
|
|
456
460
|
if (waitForConnection) {
|
|
457
|
-
waitForConnection.resolve(
|
|
461
|
+
waitForConnection.resolve(rpc);
|
|
458
462
|
}
|
|
459
463
|
}
|
|
460
464
|
}, { reconnecting: false });
|
|
@@ -497,7 +501,7 @@ let TerminalWidgetImpl = TerminalWidgetImpl_1 = class TerminalWidgetImpl extends
|
|
|
497
501
|
}
|
|
498
502
|
sendText(text) {
|
|
499
503
|
if (this.waitForConnection) {
|
|
500
|
-
this.waitForConnection.promise.then(connection => connection.sendRequest('write', text));
|
|
504
|
+
this.waitForConnection.promise.then(connection => connection.sendRequest('write', [text]));
|
|
501
505
|
}
|
|
502
506
|
}
|
|
503
507
|
async executeCommand(commandOptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-widget-impl.js","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal-widget-impl.js","sourceRoot":"","sources":["../../src/browser/terminal-widget-impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-backend-contribution.d.ts","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal-backend-contribution.d.ts","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAmB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAGpF,qBACa,2BAA4B,YAAW,gBAAgB,CAAC,YAAY;IAG7E,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAwB7C"}
|
|
@@ -29,20 +29,29 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
29
29
|
const common_1 = require("@theia/core/lib/common");
|
|
30
30
|
const node_1 = require("@theia/process/lib/node");
|
|
31
31
|
const terminal_protocol_1 = require("../common/terminal-protocol");
|
|
32
|
+
const core_1 = require("@theia/core/");
|
|
32
33
|
let TerminalBackendContribution = class TerminalBackendContribution {
|
|
33
34
|
configure(service) {
|
|
34
|
-
service.
|
|
35
|
+
service.wsChannel(`${terminal_protocol_1.terminalsPath}/:id`, (params, channel) => {
|
|
35
36
|
const id = parseInt(params.id, 10);
|
|
36
37
|
const termProcess = this.processManager.get(id);
|
|
37
38
|
if (termProcess instanceof node_1.TerminalProcess) {
|
|
38
39
|
const output = termProcess.createOutputStream();
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
// Create a RPC connection to the terminal process
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
+
const requestHandler = async (method, args) => {
|
|
43
|
+
if (method === 'write' && args[0]) {
|
|
44
|
+
termProcess.write(args[0]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.logger.warn('Terminal process received a request with an unsupported method or argument', { method, args });
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const rpc = new core_1.RpcProtocol(channel, requestHandler);
|
|
51
|
+
output.on('data', data => {
|
|
52
|
+
rpc.sendNotification('onData', [data]);
|
|
53
|
+
});
|
|
54
|
+
channel.onClose(() => output.dispose());
|
|
46
55
|
}
|
|
47
56
|
});
|
|
48
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-backend-contribution.js","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,4DAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"terminal-backend-contribution.js","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,4DAAyE;AACzE,mDAAiE;AACjE,kDAA0E;AAC1E,mEAA4D;AAE5D,uCAA2C;AAG3C,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IAQpC,SAAS,CAAC,OAAyB;QAC/B,OAAO,CAAC,SAAS,CAAC,GAAG,iCAAa,MAAM,EAAE,CAAC,MAAsB,EAAE,OAAO,EAAE,EAAE;YAC1E,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,WAAW,YAAY,sBAAe,EAAE;gBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBAChD,kDAAkD;gBAClD,8DAA8D;gBAC9D,MAAM,cAAc,GAAmB,KAAK,EAAE,MAAc,EAAE,IAAW,EAAE,EAAE;oBACzE,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;wBAC/B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9B;yBAAM;wBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpH;gBACL,CAAC,CAAC;gBAEF,MAAM,GAAG,GAAG,IAAI,kBAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBACrD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;oBACrB,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;aAC3C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA7BG;IADC,IAAA,kBAAM,EAAC,qBAAc,CAAC;8BACY,qBAAc;mEAAC;AAGlD;IADC,IAAA,kBAAM,EAAC,gBAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,UAAU,CAAC;;2DACA;AAN1B,2BAA2B;IADvC,IAAA,sBAAU,GAAE;GACA,2BAA2B,CAgCvC;AAhCY,kEAA2B"}
|
|
@@ -39,12 +39,15 @@ describe('Terminal Backend Contribution', function () {
|
|
|
39
39
|
it('is data received from the terminal ws server', async () => {
|
|
40
40
|
const terminalId = await shellTerminalServer.create({});
|
|
41
41
|
await new Promise((resolve, reject) => {
|
|
42
|
-
const
|
|
42
|
+
const path = `${terminal_protocol_1.terminalsPath}/${terminalId}`;
|
|
43
|
+
const { channel, multiplexer } = new test_web_socket_channel_1.TestWebSocketChannelSetup({ server, path });
|
|
43
44
|
channel.onError(reject);
|
|
44
|
-
channel.onClose(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
channel.onClose(event => reject(new Error(`channel is closed with '${event.code}' code and '${event.reason}' reason}`)));
|
|
46
|
+
multiplexer.onDidOpenChannel(event => {
|
|
47
|
+
if (event.id === path) {
|
|
48
|
+
resolve();
|
|
49
|
+
channel.close();
|
|
50
|
+
}
|
|
48
51
|
});
|
|
49
52
|
});
|
|
50
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-backend-contribution.slow-spec.js","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.slow-spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;AAEhF,4EAA6E;AAC7E,kFAA8E;AAC9E,+EAAyE;AAGzE,mEAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"terminal-backend-contribution.slow-spec.js","sourceRoot":"","sources":["../../src/node/terminal-backend-contribution.slow-spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;AAEhF,4EAA6E;AAC7E,kFAA8E;AAC9E,+EAAyE;AAGzE,mEAA4D;AAC5D,yGAAwG;AAExG,QAAQ,CAAC,+BAA+B,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAkC,CAAC;IACvC,IAAI,mBAAyC,CAAC;IAE9C,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,SAAS,GAAG,IAAA,qDAA2B,GAAE,CAAC;QAChD,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,wCAAkB,CAAC,CAAC;QACtD,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,8CAAoB,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,GAAG,MAAM,CAAC;QACjB,MAAM,GAAG,SAAU,CAAC;QACpB,mBAAmB,GAAG,SAAU,CAAC;QACjC,CAAC,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,GAAG,iCAAa,IAAI,UAAU,EAAE,CAAC;YAC9C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,mDAAyB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;YAEzH,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;gBACjC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE;oBACnB,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,EAAE,CAAC;iBACnB;YACL,CAAC,CAAC,CAAC;QAEP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/terminal",
|
|
3
|
-
"version": "1.27.0
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "Theia - Terminal Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.27.0
|
|
7
|
-
"@theia/editor": "1.27.0
|
|
8
|
-
"@theia/filesystem": "1.27.0
|
|
9
|
-
"@theia/process": "1.27.0
|
|
10
|
-
"@theia/workspace": "1.27.0
|
|
6
|
+
"@theia/core": "1.27.0",
|
|
7
|
+
"@theia/editor": "1.27.0",
|
|
8
|
+
"@theia/filesystem": "1.27.0",
|
|
9
|
+
"@theia/process": "1.27.0",
|
|
10
|
+
"@theia/workspace": "1.27.0",
|
|
11
11
|
"xterm": "^4.16.0",
|
|
12
12
|
"xterm-addon-fit": "^0.5.0",
|
|
13
13
|
"xterm-addon-search": "^0.8.2"
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
"watch": "theiaext watch"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@theia/ext-scripts": "1.
|
|
49
|
+
"@theia/ext-scripts": "1.27.0"
|
|
50
50
|
},
|
|
51
51
|
"nyc": {
|
|
52
52
|
"extends": "../../configs/nyc.json"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "b952ad743a97821dee94787e946f5a288174d4e8"
|
|
55
55
|
}
|
|
@@ -16,8 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import { ITheme } from 'xterm';
|
|
18
18
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
19
|
-
import { ColorRegistry
|
|
19
|
+
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
20
|
+
import { ColorDefaults } from '@theia/core/lib/common/color';
|
|
20
21
|
import { ThemeService } from '@theia/core/lib/browser/theming';
|
|
22
|
+
import { ThemeChangeEvent } from '@theia/core/lib/common/theme';
|
|
23
|
+
import { Event } from '@theia/core';
|
|
21
24
|
|
|
22
25
|
/**
|
|
23
26
|
* It should be aligned with https://github.com/microsoft/vscode/blob/0dfa355b3ad185a6289ba28a99c141ab9e72d2be/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.ts#L40
|
|
@@ -156,10 +159,12 @@ export const terminalAnsiColorMap: { [key: string]: { index: number, defaults: C
|
|
|
156
159
|
@injectable()
|
|
157
160
|
export class TerminalThemeService {
|
|
158
161
|
|
|
159
|
-
@inject(ColorRegistry)
|
|
160
|
-
protected readonly
|
|
162
|
+
@inject(ColorRegistry) protected readonly colorRegistry: ColorRegistry;
|
|
163
|
+
@inject(ThemeService) protected readonly themeService: ThemeService;
|
|
161
164
|
|
|
162
|
-
|
|
165
|
+
get onDidChange(): Event<ThemeChangeEvent> {
|
|
166
|
+
return this.themeService.onDidColorThemeChange;
|
|
167
|
+
}
|
|
163
168
|
|
|
164
169
|
get theme(): ITheme {
|
|
165
170
|
const foregroundColor = this.colorRegistry.getCurrentColor('terminal.foreground');
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import { Terminal, RendererType } from 'xterm';
|
|
18
18
|
import { FitAddon } from 'xterm-addon-fit';
|
|
19
19
|
import { inject, injectable, named, postConstruct } from '@theia/core/shared/inversify';
|
|
20
|
-
import { ContributionProvider, Disposable, Event, Emitter, ILogger, DisposableCollection } from '@theia/core';
|
|
20
|
+
import { ContributionProvider, Disposable, Event, Emitter, ILogger, DisposableCollection, RpcProtocol, RequestHandler } from '@theia/core';
|
|
21
21
|
import { Widget, Message, WebSocketConnectionProvider, StatefulWidget, isFirefox, MessageLoop, KeyCode, codicon } from '@theia/core/lib/browser';
|
|
22
22
|
import { isOSX } from '@theia/core/lib/common';
|
|
23
23
|
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
@@ -26,7 +26,6 @@ import { terminalsPath } from '../common/terminal-protocol';
|
|
|
26
26
|
import { IBaseTerminalServer, TerminalProcessInfo } from '../common/base-terminal-protocol';
|
|
27
27
|
import { TerminalWatcher } from '../common/terminal-watcher';
|
|
28
28
|
import { TerminalWidgetOptions, TerminalWidget, TerminalDimensions, TerminalExitStatus } from './base/terminal-widget';
|
|
29
|
-
import { MessageConnection } from '@theia/core/shared/vscode-ws-jsonrpc';
|
|
30
29
|
import { Deferred } from '@theia/core/lib/common/promise-util';
|
|
31
30
|
import { TerminalPreferences, TerminalRendererType, isTerminalRendererType, DEFAULT_TERMINAL_RENDERER_TYPE, CursorStyle } from './terminal-preferences';
|
|
32
31
|
import { TerminalContribution } from './terminal-contribution';
|
|
@@ -61,7 +60,7 @@ export class TerminalWidgetImpl extends TerminalWidget implements StatefulWidget
|
|
|
61
60
|
protected searchBox: TerminalSearchWidget;
|
|
62
61
|
protected restored = false;
|
|
63
62
|
protected closeOnDispose = true;
|
|
64
|
-
protected waitForConnection: Deferred<
|
|
63
|
+
protected waitForConnection: Deferred<RpcProtocol> | undefined;
|
|
65
64
|
protected hoverMessage: HTMLDivElement;
|
|
66
65
|
protected lastTouchEnd: TouchEvent | undefined;
|
|
67
66
|
protected isAttachedCloseListener: boolean = false;
|
|
@@ -507,16 +506,23 @@ export class TerminalWidgetImpl extends TerminalWidget implements StatefulWidget
|
|
|
507
506
|
}
|
|
508
507
|
this.toDisposeOnConnect.dispose();
|
|
509
508
|
this.toDispose.push(this.toDisposeOnConnect);
|
|
510
|
-
const waitForConnection = this.waitForConnection = new Deferred<
|
|
509
|
+
const waitForConnection = this.waitForConnection = new Deferred<RpcProtocol>();
|
|
511
510
|
this.webSocketConnectionProvider.listen({
|
|
512
511
|
path: `${terminalsPath}/${this.terminalId}`,
|
|
513
512
|
onConnection: connection => {
|
|
514
|
-
|
|
513
|
+
const requestHandler: RequestHandler = _method => this.logger.warn('Received an unhandled RPC request from the terminal process');
|
|
514
|
+
|
|
515
|
+
const rpc = new RpcProtocol(connection, requestHandler);
|
|
516
|
+
rpc.onNotification(event => {
|
|
517
|
+
if (event.method === 'onData') {
|
|
518
|
+
this.write(event.args[0]);
|
|
519
|
+
}
|
|
520
|
+
});
|
|
515
521
|
|
|
516
522
|
// Excludes the device status code emitted by Xterm.js
|
|
517
523
|
const sendData = (data?: string) => {
|
|
518
524
|
if (data && !this.deviceStatusCodes.has(data) && !this.disableEnterWhenAttachCloseListener()) {
|
|
519
|
-
return
|
|
525
|
+
return rpc.sendRequest('write', [data]);
|
|
520
526
|
}
|
|
521
527
|
};
|
|
522
528
|
|
|
@@ -524,12 +530,10 @@ export class TerminalWidgetImpl extends TerminalWidget implements StatefulWidget
|
|
|
524
530
|
disposable.push(this.term.onData(sendData));
|
|
525
531
|
disposable.push(this.term.onBinary(sendData));
|
|
526
532
|
|
|
527
|
-
connection.
|
|
533
|
+
connection.onClose(() => disposable.dispose());
|
|
528
534
|
|
|
529
|
-
this.toDisposeOnConnect.push(connection);
|
|
530
|
-
connection.listen();
|
|
531
535
|
if (waitForConnection) {
|
|
532
|
-
waitForConnection.resolve(
|
|
536
|
+
waitForConnection.resolve(rpc);
|
|
533
537
|
}
|
|
534
538
|
}
|
|
535
539
|
}, { reconnecting: false });
|
|
@@ -579,7 +583,7 @@ export class TerminalWidgetImpl extends TerminalWidget implements StatefulWidget
|
|
|
579
583
|
sendText(text: string): void {
|
|
580
584
|
if (this.waitForConnection) {
|
|
581
585
|
this.waitForConnection.promise.then(connection =>
|
|
582
|
-
connection.sendRequest('write', text)
|
|
586
|
+
connection.sendRequest('write', [text])
|
|
583
587
|
);
|
|
584
588
|
}
|
|
585
589
|
}
|
|
@@ -20,7 +20,7 @@ import { IShellTerminalServer } from '../common/shell-terminal-protocol';
|
|
|
20
20
|
import * as http from 'http';
|
|
21
21
|
import * as https from 'https';
|
|
22
22
|
import { terminalsPath } from '../common/terminal-protocol';
|
|
23
|
-
import {
|
|
23
|
+
import { TestWebSocketChannelSetup } from '@theia/core/lib/node/messaging/test/test-web-socket-channel';
|
|
24
24
|
|
|
25
25
|
describe('Terminal Backend Contribution', function (): void {
|
|
26
26
|
|
|
@@ -45,13 +45,19 @@ describe('Terminal Backend Contribution', function (): void {
|
|
|
45
45
|
it('is data received from the terminal ws server', async () => {
|
|
46
46
|
const terminalId = await shellTerminalServer.create({});
|
|
47
47
|
await new Promise<void>((resolve, reject) => {
|
|
48
|
-
const
|
|
48
|
+
const path = `${terminalsPath}/${terminalId}`;
|
|
49
|
+
const { channel, multiplexer } = new TestWebSocketChannelSetup({ server, path });
|
|
49
50
|
channel.onError(reject);
|
|
50
|
-
channel.onClose(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
channel.onClose(event => reject(new Error(`channel is closed with '${event.code}' code and '${event.reason}' reason}`)));
|
|
52
|
+
|
|
53
|
+
multiplexer.onDidOpenChannel(event => {
|
|
54
|
+
if (event.id === path) {
|
|
55
|
+
resolve();
|
|
56
|
+
channel.close();
|
|
57
|
+
}
|
|
54
58
|
});
|
|
59
|
+
|
|
55
60
|
});
|
|
56
61
|
});
|
|
62
|
+
|
|
57
63
|
});
|
|
@@ -15,10 +15,11 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject, named } from '@theia/core/shared/inversify';
|
|
18
|
-
import { ILogger } from '@theia/core/lib/common';
|
|
18
|
+
import { ILogger, RequestHandler } from '@theia/core/lib/common';
|
|
19
19
|
import { TerminalProcess, ProcessManager } from '@theia/process/lib/node';
|
|
20
20
|
import { terminalsPath } from '../common/terminal-protocol';
|
|
21
21
|
import { MessagingService } from '@theia/core/lib/node/messaging/messaging-service';
|
|
22
|
+
import { RpcProtocol } from '@theia/core/';
|
|
22
23
|
|
|
23
24
|
@injectable()
|
|
24
25
|
export class TerminalBackendContribution implements MessagingService.Contribution {
|
|
@@ -30,19 +31,27 @@ export class TerminalBackendContribution implements MessagingService.Contributio
|
|
|
30
31
|
protected readonly logger: ILogger;
|
|
31
32
|
|
|
32
33
|
configure(service: MessagingService): void {
|
|
33
|
-
service.
|
|
34
|
+
service.wsChannel(`${terminalsPath}/:id`, (params: { id: string }, channel) => {
|
|
34
35
|
const id = parseInt(params.id, 10);
|
|
35
36
|
const termProcess = this.processManager.get(id);
|
|
36
37
|
if (termProcess instanceof TerminalProcess) {
|
|
37
38
|
const output = termProcess.createOutputStream();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
// Create a RPC connection to the terminal process
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
const requestHandler: RequestHandler = async (method: string, args: any[]) => {
|
|
42
|
+
if (method === 'write' && args[0]) {
|
|
43
|
+
termProcess.write(args[0]);
|
|
44
|
+
} else {
|
|
45
|
+
this.logger.warn('Terminal process received a request with an unsupported method or argument', { method, args });
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const rpc = new RpcProtocol(channel, requestHandler);
|
|
50
|
+
output.on('data', data => {
|
|
51
|
+
rpc.sendNotification('onData', [data]);
|
|
52
|
+
});
|
|
53
|
+
channel.onClose(() => output.dispose());
|
|
44
54
|
}
|
|
45
55
|
});
|
|
46
56
|
}
|
|
47
|
-
|
|
48
57
|
}
|