@opensumi/ide-terminal-next 2.17.8 → 2.18.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/component/tab.item.d.ts.map +1 -1
- package/lib/browser/component/tab.item.js +33 -12
- package/lib/browser/component/tab.item.js.map +1 -1
- package/lib/browser/component/tab.module.less +41 -12
- package/lib/browser/component/tab.view.d.ts.map +1 -1
- package/lib/browser/component/tab.view.js +25 -7
- package/lib/browser/component/tab.view.js.map +1 -1
- package/lib/browser/component/terminal.view.d.ts.map +1 -1
- package/lib/browser/component/terminal.view.js +25 -24
- package/lib/browser/component/terminal.view.js.map +1 -1
- package/lib/browser/contribution/terminal.menu.d.ts.map +1 -1
- package/lib/browser/contribution/terminal.menu.js +3 -4
- package/lib/browser/contribution/terminal.menu.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +0 -5
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/links/link-manager.d.ts.map +1 -1
- package/lib/browser/links/link-manager.js +11 -12
- package/lib/browser/links/link-manager.js.map +1 -1
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -1
- package/lib/browser/links/validated-local-link-provider.js +1 -2
- package/lib/browser/links/validated-local-link-provider.js.map +1 -1
- package/lib/browser/terminal.addon.d.ts.map +1 -1
- package/lib/browser/terminal.addon.js +3 -1
- package/lib/browser/terminal.addon.js.map +1 -1
- package/lib/browser/terminal.api.d.ts +4 -2
- package/lib/browser/terminal.api.d.ts.map +1 -1
- package/lib/browser/terminal.api.js +7 -1
- package/lib/browser/terminal.api.js.map +1 -1
- package/lib/browser/terminal.client.d.ts +7 -4
- package/lib/browser/terminal.client.d.ts.map +1 -1
- package/lib/browser/terminal.client.js +20 -45
- package/lib/browser/terminal.client.js.map +1 -1
- package/lib/browser/terminal.context-menu.d.ts +2 -0
- package/lib/browser/terminal.context-menu.d.ts.map +1 -1
- package/lib/browser/terminal.context-menu.js +23 -4
- package/lib/browser/terminal.context-menu.js.map +1 -1
- package/lib/browser/terminal.controller.d.ts +16 -3
- package/lib/browser/terminal.controller.d.ts.map +1 -1
- package/lib/browser/terminal.controller.js +161 -27
- package/lib/browser/terminal.controller.js.map +1 -1
- package/lib/browser/terminal.input.js +2 -2
- package/lib/browser/terminal.input.js.map +1 -1
- package/lib/browser/terminal.internal.service.d.ts +6 -6
- package/lib/browser/terminal.internal.service.d.ts.map +1 -1
- package/lib/browser/terminal.internal.service.js +4 -23
- package/lib/browser/terminal.internal.service.js.map +1 -1
- package/lib/browser/terminal.profile.d.ts +18 -9
- package/lib/browser/terminal.profile.d.ts.map +1 -1
- package/lib/browser/terminal.profile.internal.d.ts.map +1 -1
- package/lib/browser/terminal.profile.internal.js +4 -6
- package/lib/browser/terminal.profile.internal.js.map +1 -1
- package/lib/browser/terminal.profile.js +59 -9
- package/lib/browser/terminal.profile.js.map +1 -1
- package/lib/browser/terminal.restore.d.ts.map +1 -1
- package/lib/browser/terminal.restore.js +3 -1
- package/lib/browser/terminal.restore.js.map +1 -1
- package/lib/browser/terminal.search.d.ts.map +1 -1
- package/lib/browser/terminal.search.js +6 -0
- package/lib/browser/terminal.search.js.map +1 -1
- package/lib/browser/terminal.service.d.ts +5 -17
- package/lib/browser/terminal.service.d.ts.map +1 -1
- package/lib/browser/terminal.service.js +6 -79
- package/lib/browser/terminal.service.js.map +1 -1
- package/lib/browser/terminal.view.d.ts +5 -3
- package/lib/browser/terminal.view.d.ts.map +1 -1
- package/lib/browser/terminal.view.js +9 -5
- package/lib/browser/terminal.view.js.map +1 -1
- package/lib/browser/xterm.d.ts +2 -1
- package/lib/browser/xterm.d.ts.map +1 -1
- package/lib/browser/xterm.js.map +1 -1
- package/lib/common/api.d.ts +3 -2
- package/lib/common/api.d.ts.map +1 -1
- package/lib/common/client.d.ts +17 -0
- package/lib/common/client.d.ts.map +1 -1
- package/lib/common/client.js +2 -1
- package/lib/common/client.js.map +1 -1
- package/lib/common/controller.d.ts +20 -5
- package/lib/common/controller.d.ts.map +1 -1
- package/lib/common/controller.js.map +1 -1
- package/lib/common/environmentVariable.d.ts +2 -3
- package/lib/common/environmentVariable.d.ts.map +1 -1
- package/lib/common/environmentVariable.js.map +1 -1
- package/lib/common/environmentVariableCollection.d.ts +2 -3
- package/lib/common/environmentVariableCollection.d.ts.map +1 -1
- package/lib/common/environmentVariableCollection.js +2 -2
- package/lib/common/environmentVariableCollection.js.map +1 -1
- package/lib/common/profile.d.ts +6 -9
- package/lib/common/profile.d.ts.map +1 -1
- package/lib/common/profile.js +1 -2
- package/lib/common/profile.js.map +1 -1
- package/lib/common/pty.d.ts +91 -11
- package/lib/common/pty.d.ts.map +1 -1
- package/lib/common/pty.js +40 -1
- package/lib/common/pty.js.map +1 -1
- package/lib/common/render.d.ts +5 -0
- package/lib/common/render.d.ts.map +1 -1
- package/lib/common/render.js.map +1 -1
- package/lib/common/resize.d.ts +2 -0
- package/lib/common/resize.d.ts.map +1 -1
- package/lib/common/service.d.ts +8 -11
- package/lib/common/service.d.ts.map +1 -1
- package/lib/common/service.js.map +1 -1
- package/lib/common/xterm.d.ts +16 -0
- package/lib/common/xterm.d.ts.map +1 -0
- package/lib/common/xterm.js +3 -0
- package/lib/common/xterm.js.map +1 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +5 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/pty.d.ts +9 -5
- package/lib/node/pty.d.ts.map +1 -1
- package/lib/node/pty.js +13 -10
- package/lib/node/pty.js.map +1 -1
- package/lib/node/pty.manager.d.ts +52 -0
- package/lib/node/pty.manager.d.ts.map +1 -0
- package/lib/node/pty.manager.js +149 -0
- package/lib/node/pty.manager.js.map +1 -0
- package/lib/node/pty.manager.remote.d.ts +10 -0
- package/lib/node/pty.manager.remote.d.ts.map +1 -0
- package/lib/node/pty.manager.remote.js +92 -0
- package/lib/node/pty.manager.remote.js.map +1 -0
- package/lib/node/pty.proxy.d.ts +45 -0
- package/lib/node/pty.proxy.d.ts.map +1 -0
- package/lib/node/pty.proxy.js +255 -0
- package/lib/node/pty.proxy.js.map +1 -0
- package/lib/node/pty.proxy.remote.exec.d.ts +2 -0
- package/lib/node/pty.proxy.remote.exec.d.ts.map +1 -0
- package/lib/node/pty.proxy.remote.exec.js +7 -0
- package/lib/node/pty.proxy.remote.exec.js.map +1 -0
- package/lib/node/shell.d.ts +1 -1
- package/lib/node/shell.d.ts.map +1 -1
- package/lib/node/shell.js +14 -15
- package/lib/node/shell.js.map +1 -1
- package/lib/node/terminal.profile.service.d.ts.map +1 -1
- package/lib/node/terminal.profile.service.js +4 -6
- package/lib/node/terminal.profile.service.js.map +1 -1
- package/lib/node/terminal.service.client.d.ts +3 -8
- package/lib/node/terminal.service.client.d.ts.map +1 -1
- package/lib/node/terminal.service.client.js +8 -39
- package/lib/node/terminal.service.client.js.map +1 -1
- package/lib/node/terminal.service.d.ts +3 -2
- package/lib/node/terminal.service.d.ts.map +1 -1
- package/lib/node/terminal.service.js +36 -10
- package/lib/node/terminal.service.js.map +1 -1
- package/package.json +16 -16
- package/lib/browser/terminal.contribution.d.ts +0 -7
- package/lib/browser/terminal.contribution.d.ts.map +0 -1
- package/lib/browser/terminal.contribution.js +0 -32
- package/lib/browser/terminal.contribution.js.map +0 -1
- package/lib/common/menu.d.ts +0 -5
- package/lib/common/menu.d.ts.map +0 -1
- package/lib/common/menu.js +0 -9
- package/lib/common/menu.js.map +0 -1
package/lib/common/pty.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IPty as INodePty } from 'node-pty';
|
|
2
|
+
import * as pty from 'node-pty';
|
|
2
3
|
import type vscode from 'vscode';
|
|
3
4
|
import { Terminal as XTerm } from 'xterm';
|
|
4
|
-
import { Uri } from '@opensumi/ide-core-common';
|
|
5
|
-
import { OperatingSystem } from '@opensumi/ide-core-common/lib/platform';
|
|
5
|
+
import { MaybePromise, Uri, OperatingSystem } from '@opensumi/ide-core-common';
|
|
6
6
|
import { ITerminalError } from './error';
|
|
7
7
|
import { ITerminalEnvironment, ITerminalProcessExtHostProxy, TerminalLocation } from './extension';
|
|
8
8
|
import { IDetectProfileOptions, ITerminalProfile } from './profile';
|
|
@@ -15,8 +15,84 @@ export interface IPtyProcess extends INodePty {
|
|
|
15
15
|
launchConfig: IShellLaunchConfig;
|
|
16
16
|
parsedName: string;
|
|
17
17
|
}
|
|
18
|
+
export interface IPtyProcessProxy extends IPtyProcess {
|
|
19
|
+
getProcessDynamically(): MaybePromise<string>;
|
|
20
|
+
}
|
|
18
21
|
export declare const ITerminalServicePath = "ITerminalServicePath";
|
|
19
22
|
export declare const ITerminalProcessPath = "ITerminalProcessPath";
|
|
23
|
+
export declare const PTY_SERVICE_PROXY_PROTOCOL = "PTY_SERVICE_PROXY_PROTOCOL";
|
|
24
|
+
export declare const PTY_SERVICE_PROXY_CALLBACK_PROTOCOL = "PTY_SERVICE_PROXY_CALLBACK_PROTOCOL";
|
|
25
|
+
export declare const PTY_SERVICE_PROXY_SERVER_PORT = 10111;
|
|
26
|
+
export interface IPtyProxyRPCService {
|
|
27
|
+
/**
|
|
28
|
+
* 远程spawn pty进程,开启终端,返回符合IPty接口的远程执行对象
|
|
29
|
+
* @param file 启动的程序 如/bin/bash
|
|
30
|
+
* @param args 启动参数 argv (具体参考node-pty参数文档)
|
|
31
|
+
* @param options 启动终端options (具体参考node-pty参数文档)
|
|
32
|
+
* @param sessionId (可选)传入启动终端的sessionId,通常用于terminal重连的场景
|
|
33
|
+
* @returns 返回符合IPty接口的远程执行RPC对象,实际上内容是IPty的静态常量,没有function,需要做二次包装
|
|
34
|
+
*/
|
|
35
|
+
$spawn(file: string, args: string[] | string, options: pty.IPtyForkOptions | pty.IWindowsPtyForkOptions, sessionId?: string): Promise<pty.IPty>;
|
|
36
|
+
/**
|
|
37
|
+
* pty数据onData回调代理
|
|
38
|
+
* @param callId 指定callId的方法回调注册
|
|
39
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
40
|
+
*/
|
|
41
|
+
$onData(callId: number, pid: number): void;
|
|
42
|
+
/**
|
|
43
|
+
* pty数据onExit回调代理
|
|
44
|
+
* @param callId 指定callId的方法回调注册
|
|
45
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
46
|
+
*/
|
|
47
|
+
$onExit(callId: number, pid: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* pty数据on回调代理
|
|
50
|
+
* @param callId 指定callId的方法回调注册
|
|
51
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
52
|
+
*/
|
|
53
|
+
$on(callId: number, pid: number, event: any): void;
|
|
54
|
+
/**
|
|
55
|
+
* resize方法RPC转发
|
|
56
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
57
|
+
* @param columns 列数
|
|
58
|
+
* @param rows 行数
|
|
59
|
+
*/
|
|
60
|
+
$resize(pid: number, columns: number, rows: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* 远程pty写入数据的RPC转发
|
|
63
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
64
|
+
* @param data 终端stdin写入的数据
|
|
65
|
+
*/
|
|
66
|
+
$write(pid: number, data: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* kill pty 的RPC转发
|
|
69
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
70
|
+
* @param signal The signal to use, defaults to SIGHUP. This parameter is not supported onWindows.
|
|
71
|
+
*/
|
|
72
|
+
$kill(pid: number, signal?: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* pause pty 的RPC转发
|
|
75
|
+
* Pauses the pty for customizable flow control.
|
|
76
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
77
|
+
*/
|
|
78
|
+
$pause(pid: number): void;
|
|
79
|
+
/**
|
|
80
|
+
* resume pty 的RPC转发
|
|
81
|
+
* Resumes the pty for customizable flow control.
|
|
82
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
83
|
+
*/
|
|
84
|
+
$resume(pid: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* 实时性通过Pid获取ProcessName
|
|
87
|
+
* @param pid pty进程的pid,用于辨识pty进程
|
|
88
|
+
*/
|
|
89
|
+
$getProcess(pid: number): string;
|
|
90
|
+
/**
|
|
91
|
+
* 检查Session对应的进程是否存活
|
|
92
|
+
* @param sessionId 终端的sessionId
|
|
93
|
+
*/
|
|
94
|
+
$checkSession(sessionId: string): boolean;
|
|
95
|
+
}
|
|
20
96
|
export interface Terminal {
|
|
21
97
|
readonly xterm: XTerm;
|
|
22
98
|
/**
|
|
@@ -137,6 +213,10 @@ export interface TerminalOptions {
|
|
|
137
213
|
* 自定义的参数,由上层集成方自行控制
|
|
138
214
|
*/
|
|
139
215
|
beforeCreate?: (terminalId: string) => void;
|
|
216
|
+
/**
|
|
217
|
+
* 终端是否保活
|
|
218
|
+
*/
|
|
219
|
+
isTransient?: boolean;
|
|
140
220
|
}
|
|
141
221
|
export declare const ITerminalNodeService: unique symbol;
|
|
142
222
|
export interface ITerminalNodeService {
|
|
@@ -153,7 +233,7 @@ export interface ITerminalNodeService {
|
|
|
153
233
|
dispose(): void;
|
|
154
234
|
setClient(clientId: string, client: ITerminalServiceClient): void;
|
|
155
235
|
closeClient(clientId: string): void;
|
|
156
|
-
ensureClientTerminal(clientId: string, terminalIdArr: string[]): boolean
|
|
236
|
+
ensureClientTerminal(clientId: string, terminalIdArr: string[]): Promise<boolean>;
|
|
157
237
|
}
|
|
158
238
|
export declare const ITerminalProcessService: unique symbol;
|
|
159
239
|
export interface ITerminalProcessService {
|
|
@@ -184,18 +264,13 @@ export interface ITerminalServiceClient {
|
|
|
184
264
|
setConnectionClientId(clientId: string): void;
|
|
185
265
|
dispose(): void;
|
|
186
266
|
getShellName(id: string): string;
|
|
187
|
-
ensureTerminal(terminalIdArr: string[]): boolean
|
|
267
|
+
ensureTerminal(terminalIdArr: string[]): Promise<boolean>;
|
|
188
268
|
$resolveWindowsShellPath(type: WindowsShellType): Promise<string | undefined>;
|
|
189
269
|
$resolveUnixShellPath(type: string): Promise<string | undefined>;
|
|
190
|
-
$resolvePotentialUnixShellPath(): Promise<string | undefined>;
|
|
191
|
-
$resolvePotentialWindowsShellPath(): Promise<{
|
|
192
|
-
path: string;
|
|
193
|
-
type: WindowsShellType;
|
|
194
|
-
}>;
|
|
195
270
|
$resolveShellPath(paths: string[]): Promise<string | undefined>;
|
|
196
271
|
detectAvailableProfiles(options: IDetectProfileOptions): Promise<ITerminalProfile[]>;
|
|
197
272
|
getDefaultSystemShell(os: OperatingSystem): Promise<string>;
|
|
198
|
-
|
|
273
|
+
getOS(): OperatingSystem;
|
|
199
274
|
getCodePlatformKey(): Promise<'osx' | 'windows' | 'linux'>;
|
|
200
275
|
}
|
|
201
276
|
export interface ITerminalInfo {
|
|
@@ -349,7 +424,7 @@ export interface IShellLaunchConfig {
|
|
|
349
424
|
/**
|
|
350
425
|
* The color ID to use for this terminal. If not specified it will use the default fallback
|
|
351
426
|
*/
|
|
352
|
-
color?:
|
|
427
|
+
color?: vscode.ThemeColor;
|
|
353
428
|
/**
|
|
354
429
|
* When a parent terminal is provided via API, the group needs
|
|
355
430
|
* to find the index in order to place the child
|
|
@@ -366,6 +441,10 @@ export interface IShellLaunchConfig {
|
|
|
366
441
|
disablePersistence?: boolean;
|
|
367
442
|
}
|
|
368
443
|
export interface ICreateTerminalOptions {
|
|
444
|
+
/**
|
|
445
|
+
* unique id
|
|
446
|
+
*/
|
|
447
|
+
id?: string;
|
|
369
448
|
/**
|
|
370
449
|
* The shell launch config or profile to launch with, when not specified the default terminal
|
|
371
450
|
* profile will be used.
|
|
@@ -385,4 +464,5 @@ export interface ICreateTerminalOptions {
|
|
|
385
464
|
*/
|
|
386
465
|
location?: ITerminalLocationOptions;
|
|
387
466
|
}
|
|
467
|
+
export declare const convertTerminalOptionsToLaunchConfig: (options: TerminalOptions) => IShellLaunchConfig;
|
|
388
468
|
//# sourceMappingURL=pty.d.ts.map
|
package/lib/common/pty.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":"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"}
|
package/lib/common/pty.js
CHANGED
|
@@ -1,11 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IExternalTerminalService = exports.ITerminalServiceClient = exports.ITerminalProcessService = exports.ITerminalNodeService = exports.ITerminalProcessPath = exports.ITerminalServicePath = void 0;
|
|
3
|
+
exports.convertTerminalOptionsToLaunchConfig = exports.IExternalTerminalService = exports.ITerminalServiceClient = exports.ITerminalProcessService = exports.ITerminalNodeService = exports.PTY_SERVICE_PROXY_SERVER_PORT = exports.PTY_SERVICE_PROXY_CALLBACK_PROTOCOL = exports.PTY_SERVICE_PROXY_PROTOCOL = exports.ITerminalProcessPath = exports.ITerminalServicePath = void 0;
|
|
4
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
4
5
|
exports.ITerminalServicePath = 'ITerminalServicePath';
|
|
5
6
|
exports.ITerminalProcessPath = 'ITerminalProcessPath';
|
|
7
|
+
exports.PTY_SERVICE_PROXY_PROTOCOL = 'PTY_SERVICE_PROXY_PROTOCOL';
|
|
8
|
+
exports.PTY_SERVICE_PROXY_CALLBACK_PROTOCOL = 'PTY_SERVICE_PROXY_CALLBACK_PROTOCOL';
|
|
9
|
+
exports.PTY_SERVICE_PROXY_SERVER_PORT = 10111;
|
|
6
10
|
exports.ITerminalNodeService = Symbol('ITerminalNodeService');
|
|
7
11
|
exports.ITerminalProcessService = Symbol('ITerminalProcessService');
|
|
8
12
|
exports.ITerminalServiceClient = Symbol('ITerminalServiceClient');
|
|
9
13
|
// 搜了一下代码,在 OpenSumi 里已经没有地方引用了
|
|
10
14
|
exports.IExternalTerminalService = Symbol('IExternalTerminalService');
|
|
15
|
+
function asTerminalIcon(iconPath) {
|
|
16
|
+
if (!iconPath || typeof iconPath === 'string') {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
if (!('id' in iconPath)) {
|
|
20
|
+
return iconPath;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
id: iconPath.id,
|
|
24
|
+
color: iconPath.color,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const convertTerminalOptionsToLaunchConfig = (options) => {
|
|
28
|
+
const shellLaunchConfig = {
|
|
29
|
+
name: options.name,
|
|
30
|
+
executable: (0, ide_core_common_1.withNullAsUndefined)(options.shellPath),
|
|
31
|
+
args: (0, ide_core_common_1.withNullAsUndefined)(options.shellArgs),
|
|
32
|
+
cwd: (0, ide_core_common_1.withNullAsUndefined)(options.cwd),
|
|
33
|
+
env: (0, ide_core_common_1.withNullAsUndefined)(options.env),
|
|
34
|
+
icon: (0, ide_core_common_1.withNullAsUndefined)(asTerminalIcon(options.iconPath)),
|
|
35
|
+
color: (0, ide_core_common_1.isThemeColor)(options.color) ? options.color.id : undefined,
|
|
36
|
+
initialText: (0, ide_core_common_1.withNullAsUndefined)(options.message),
|
|
37
|
+
strictEnv: (0, ide_core_common_1.withNullAsUndefined)(options.strictEnv),
|
|
38
|
+
hideFromUser: (0, ide_core_common_1.withNullAsUndefined)(options.hideFromUser),
|
|
39
|
+
// isFeatureTerminal: withNullAsUndefined(options?.isFeatureTerminal),
|
|
40
|
+
isExtensionOwnedTerminal: options.isExtensionTerminal,
|
|
41
|
+
// useShellEnvironment: withNullAsUndefined(internalOptions?.useShellEnvironment),
|
|
42
|
+
// location:
|
|
43
|
+
// internalOptions?.location ||
|
|
44
|
+
// this._serializeParentTerminal(options.location, internalOptions?.resolvedExtHostIdentifier),
|
|
45
|
+
disablePersistence: (0, ide_core_common_1.withNullAsUndefined)(options.isTransient),
|
|
46
|
+
};
|
|
47
|
+
return shellLaunchConfig;
|
|
48
|
+
};
|
|
49
|
+
exports.convertTerminalOptionsToLaunchConfig = convertTerminalOptionsToLaunchConfig;
|
|
11
50
|
//# sourceMappingURL=pty.js.map
|
package/lib/common/pty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":";;;AAKA,+DAOmC;AAoBtB,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE9C,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAC1D,QAAA,mCAAmC,GAAG,qCAAqC,CAAC;AAC5E,QAAA,6BAA6B,GAAG,KAAK,CAAC;AA6OtC,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAkBtD,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAa5D,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AA4CvE,+BAA+B;AAClB,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AA2N3E,SAAS,cAAc,CAAC,QAA6D;IACnF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAC7C,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE;QACvB,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,KAAK,EAAE,QAAQ,CAAC,KAAoB;KACrC,CAAC;AACJ,CAAC;AAEM,MAAM,oCAAoC,GAAG,CAAC,OAAwB,EAAE,EAAE;IAC/E,MAAM,iBAAiB,GAAuB;QAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,SAAS,CAAC;QAClD,IAAI,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,SAAS,CAAC;QAC5C,GAAG,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,GAAG,CAAC;QACrC,GAAG,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,GAAG,CAAC;QACrC,IAAI,EAAE,IAAA,qCAAmB,EAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,KAAK,EAAE,IAAA,8BAAY,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACjE,WAAW,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,OAAO,CAAC;QACjD,SAAS,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,SAAS,CAAC;QACjD,YAAY,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,YAAY,CAAC;QACvD,sEAAsE;QACtE,wBAAwB,EAAE,OAAO,CAAC,mBAAmB;QACrD,kFAAkF;QAClF,YAAY;QACZ,+BAA+B;QAC/B,+FAA+F;QAC/F,kBAAkB,EAAE,IAAA,qCAAmB,EAAC,OAAO,CAAC,WAAW,CAAC;KAC7D,CAAC;IACF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AArBW,QAAA,oCAAoC,wCAqB/C"}
|
package/lib/common/render.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ThemeType } from '@opensumi/ide-theme/lib/common';
|
|
3
|
+
import { IShellLaunchConfig } from './pty';
|
|
2
4
|
export declare enum ItemType {
|
|
3
5
|
info = 0,
|
|
4
6
|
add = 1
|
|
@@ -9,12 +11,15 @@ export interface ItemProps {
|
|
|
9
11
|
selected?: boolean;
|
|
10
12
|
type?: ItemType;
|
|
11
13
|
editable?: boolean;
|
|
14
|
+
options?: IShellLaunchConfig;
|
|
12
15
|
onClick?: () => void;
|
|
13
16
|
onClose?: () => void;
|
|
14
17
|
onInputBlur?: (id: string) => void;
|
|
15
18
|
onInputEnter?: (id: string, name: string) => void;
|
|
19
|
+
onDropdown?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
16
20
|
onContextMenu?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
17
21
|
provider: ITerminalRenderProvider;
|
|
22
|
+
theme: ThemeType;
|
|
18
23
|
}
|
|
19
24
|
export declare const ITerminalRenderProvider: unique symbol;
|
|
20
25
|
export interface ITerminalRenderProvider {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";AAAA,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,eAAmC,CAAC;AACxE,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;CACnD"}
|
package/lib/common/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";;;AAIA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,qCAAG,CAAA;AACL,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAmBY,QAAA,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC"}
|
package/lib/common/resize.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Event } from '@opensumi/ide-core-common';
|
|
2
2
|
import { Disposable } from '@opensumi/ide-core-common';
|
|
3
|
+
import { IShellLaunchConfig } from './pty';
|
|
3
4
|
export interface IWidget extends Disposable {
|
|
4
5
|
id: string;
|
|
5
6
|
name: string;
|
|
@@ -23,6 +24,7 @@ export interface IWidget extends Disposable {
|
|
|
23
24
|
export interface IWidgetGroup extends Disposable {
|
|
24
25
|
id: string;
|
|
25
26
|
name: string;
|
|
27
|
+
options?: IShellLaunchConfig;
|
|
26
28
|
editable: boolean;
|
|
27
29
|
activated: boolean;
|
|
28
30
|
length: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/common/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/common/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,WAAW,OAAQ,SAAQ,UAAU;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB"}
|
package/lib/common/service.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ITerminalOptions as IXtermTerminalOptions
|
|
2
|
-
import { IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
-
import { OperatingSystem } from '@opensumi/ide-core-common/lib/platform';
|
|
1
|
+
import { ITerminalOptions as IXtermTerminalOptions } from 'xterm';
|
|
2
|
+
import { IDisposable, OperatingSystem } from '@opensumi/ide-core-common';
|
|
4
3
|
import { ITerminalConnection } from './client';
|
|
5
4
|
import { ITerminalError } from './error';
|
|
6
5
|
import { ITerminalProfile } from './profile';
|
|
7
|
-
import { IShellLaunchConfig
|
|
6
|
+
import { IShellLaunchConfig } from './pty';
|
|
7
|
+
import { IXTerm } from './xterm';
|
|
8
8
|
export interface IPtyExitEvent {
|
|
9
9
|
sessionId: string;
|
|
10
10
|
code?: number;
|
|
@@ -33,16 +33,13 @@ export interface ITerminalService {
|
|
|
33
33
|
*/
|
|
34
34
|
check?(sessionIds: string[]): Promise<boolean>;
|
|
35
35
|
/**
|
|
36
|
-
* @deprecated will remove on 2.17.0, please use `attachByLaunchConfig` instead
|
|
37
36
|
* @param sessionId 会话唯一标识
|
|
38
|
-
* @param xterm 返回的 Xterm 终端实例
|
|
39
37
|
* @param rows 终端初始化使用的列数
|
|
40
38
|
* @param cols 终端初始化使用的行数
|
|
41
|
-
* @param
|
|
42
|
-
* @param
|
|
39
|
+
* @param launchConfig 创建一个新终端的进程选项
|
|
40
|
+
* @param xterm 创建的 xterm 实例
|
|
43
41
|
*/
|
|
44
|
-
|
|
45
|
-
attachByLaunchConfig(sessionId: string, cols: number, rows: number, launchConfig: IShellLaunchConfig): Promise<ITerminalConnection | undefined>;
|
|
42
|
+
attachByLaunchConfig(sessionId: string, cols: number, rows: number, launchConfig: IShellLaunchConfig, xterm?: IXTerm): Promise<ITerminalConnection | undefined>;
|
|
46
43
|
/**
|
|
47
44
|
*
|
|
48
45
|
* @param id 会话唯一标识
|
|
@@ -84,7 +81,7 @@ export interface ITerminalService {
|
|
|
84
81
|
/**
|
|
85
82
|
* 返回终端环境的 OS
|
|
86
83
|
*/
|
|
87
|
-
|
|
84
|
+
getOS(): Promise<OperatingSystem>;
|
|
88
85
|
getProfiles(autoDetect: boolean): Promise<ITerminalProfile[]>;
|
|
89
86
|
getDefaultSystemShell(): Promise<string>;
|
|
90
87
|
getCodePlatformKey(): Promise<'osx' | 'windows' | 'linux'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/common/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/common/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,qBAAqB,EAAY,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAmB,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,iBAAiB,CAAC,IAAI,MAAM,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,IAAI,qBAAqB,CAAC;IACrC;;;;;OAKG;IACH,KAAK,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;;;;;OAMG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,kBAAkB,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,WAAW,CAAC;IAC/D;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,WAAW,CAAC;IAE7D,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,WAAW,CAAC;IAE/E;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,WAAW,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9D,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,kBAAkB,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAC3E,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB;IAChE,iBAAiB,IAAI,MAAM,CAAC;IAC5B,UAAU,IAAI,qBAAqB,CAAC;IACpC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/common/service.ts"],"names":[],"mappings":";;;AAqBa,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/common/service.ts"],"names":[],"mappings":";;;AAqBa,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAkF9C,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ITerminalOptions, ITheme, Terminal } from 'xterm';
|
|
2
|
+
import { SupportedOptions } from './preference';
|
|
3
|
+
export interface IXTerm {
|
|
4
|
+
raw: Terminal;
|
|
5
|
+
container: HTMLDivElement;
|
|
6
|
+
xtermOptions: ITerminalOptions & SupportedOptions;
|
|
7
|
+
copySelection(): Promise<void>;
|
|
8
|
+
onSelectionChange(): Promise<void>;
|
|
9
|
+
open(): void;
|
|
10
|
+
fit(): void;
|
|
11
|
+
findNext(text: string): boolean;
|
|
12
|
+
closeSearch(): void;
|
|
13
|
+
updatePreferences(options: SupportedOptions): void;
|
|
14
|
+
updateTheme(theme: ITheme | undefined): void;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=xterm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xterm.d.ts","sourceRoot":"","sources":["../../src/common/xterm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,YAAY,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IAElD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,IAAI,CAAC;IACb,GAAG,IAAI,IAAI,CAAC;IACZ,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,WAAW,IAAI,IAAI,CAAC;IACpB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xterm.js","sourceRoot":"","sources":["../../src/common/xterm.ts"],"names":[],"mappings":""}
|
package/lib/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiBrD,qBACa,qBAAsB,SAAQ,UAAU;IACnD,SAAS,EAAE,QAAQ,EAAE,CAyBnB;IAEF,YAAY;;;QASV;CACH"}
|
package/lib/node/index.js
CHANGED
|
@@ -6,6 +6,7 @@ const di_1 = require("@opensumi/di");
|
|
|
6
6
|
const ide_core_node_1 = require("@opensumi/ide-core-node");
|
|
7
7
|
const common_1 = require("../common");
|
|
8
8
|
const pty_1 = require("./pty");
|
|
9
|
+
const pty_manager_1 = require("./pty.manager");
|
|
9
10
|
const terminal_process_service_1 = require("./terminal.process.service");
|
|
10
11
|
const terminal_profile_service_1 = require("./terminal.profile.service");
|
|
11
12
|
const terminal_service_1 = require("./terminal.service");
|
|
@@ -34,6 +35,10 @@ let TerminalNodePtyModule = class TerminalNodePtyModule extends ide_core_node_1.
|
|
|
34
35
|
token: terminal_profile_service_1.ITerminalProfileServiceNode,
|
|
35
36
|
useClass: terminal_profile_service_1.TerminalProfileServiceNode,
|
|
36
37
|
},
|
|
38
|
+
{
|
|
39
|
+
token: pty_manager_1.PtyServiceManagerToken,
|
|
40
|
+
useClass: pty_manager_1.PtyServiceManager,
|
|
41
|
+
},
|
|
37
42
|
];
|
|
38
43
|
this.backServices = [
|
|
39
44
|
{
|
package/lib/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,2DAAqD;AAErD,sCAMmB;AAEnB,+BAAgD;AAChD,yEAAwE;AACxE,yEAAqG;AACrG,yDAAyD;AACzD,uEAAsE;AAGtE,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,0BAAU;IAArD;;QACE,cAAS,GAAe;YACtB;gBACE,KAAK,EAAE,6BAAoB;gBAC3B,QAAQ,EAAE,sCAAmB;aAC9B;YACD;gBACE,KAAK,EAAE,+BAAsB;gBAC7B,QAAQ,EAAE,mDAAyB;aACpC;YACD;gBACE,KAAK,EAAE,gCAAuB;gBAC9B,QAAQ,EAAE,qDAA0B;aACrC;YACD;gBACE,KAAK,EAAE,iBAAW;gBAClB,QAAQ,EAAE,gBAAU;aACrB;YACD;gBACE,KAAK,EAAE,sDAA2B;gBAClC,QAAQ,EAAE,qDAA0B;aACrC;SACF,CAAC;QAEF,iBAAY,GAAG;YACb;gBACE,WAAW,EAAE,6BAAoB;gBACjC,KAAK,EAAE,+BAAsB;aAC9B;YACD;gBACE,WAAW,EAAE,6BAAoB;gBACjC,KAAK,EAAE,gCAAuB;aAC/B;SACF,CAAC;IACJ,CAAC;CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,2DAAqD;AAErD,sCAMmB;AAEnB,+BAAgD;AAChD,+CAA0E;AAC1E,yEAAwE;AACxE,yEAAqG;AACrG,yDAAyD;AACzD,uEAAsE;AAGtE,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,0BAAU;IAArD;;QACE,cAAS,GAAe;YACtB;gBACE,KAAK,EAAE,6BAAoB;gBAC3B,QAAQ,EAAE,sCAAmB;aAC9B;YACD;gBACE,KAAK,EAAE,+BAAsB;gBAC7B,QAAQ,EAAE,mDAAyB;aACpC;YACD;gBACE,KAAK,EAAE,gCAAuB;gBAC9B,QAAQ,EAAE,qDAA0B;aACrC;YACD;gBACE,KAAK,EAAE,iBAAW;gBAClB,QAAQ,EAAE,gBAAU;aACrB;YACD;gBACE,KAAK,EAAE,sDAA2B;gBAClC,QAAQ,EAAE,qDAA0B;aACrC;YACD;gBACE,KAAK,EAAE,oCAAsB;gBAC7B,QAAQ,EAAE,+BAAiB;aAC5B;SACF,CAAC;QAEF,iBAAY,GAAG;YACb;gBACE,WAAW,EAAE,6BAAoB;gBACjC,KAAK,EAAE,+BAAsB;aAC9B;YACD;gBACE,WAAW,EAAE,6BAAoB;gBACjC,KAAK,EAAE,gCAAuB;aAC/B;SACF,CAAC;IACJ,CAAC;CAAA,CAAA;AAtCY,qBAAqB;IADjC,IAAA,eAAU,GAAE;GACA,qBAAqB,CAsCjC;AAtCY,sDAAqB"}
|
package/lib/node/pty.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as pty from 'node-pty';
|
|
2
|
+
import { Disposable, INodeLogger } from '@opensumi/ide-core-node';
|
|
2
3
|
import { IShellLaunchConfig, ITerminalLaunchError } from '../common';
|
|
3
4
|
import { IProcessReadyEvent, IProcessExitEvent } from '../common/process';
|
|
4
5
|
import { IPtyProcess } from '../common/pty';
|
|
6
|
+
import { IPtyServiceManager } from './pty.manager';
|
|
5
7
|
export declare const IPtyService: unique symbol;
|
|
6
8
|
export declare class PtyService extends Disposable {
|
|
7
9
|
id: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
readonly shellLaunchConfig: IShellLaunchConfig;
|
|
11
|
+
protected readonly logger: INodeLogger;
|
|
12
|
+
protected readonly ptyServiceManager: IPtyServiceManager;
|
|
13
|
+
protected readonly _ptyOptions: pty.IPtyForkOptions | pty.IWindowsPtyForkOptions;
|
|
11
14
|
private _ptyProcess;
|
|
12
15
|
private readonly _onData;
|
|
13
16
|
readonly onData: import("@opensumi/ide-core-node").Event<string>;
|
|
@@ -15,6 +18,7 @@ export declare class PtyService extends Disposable {
|
|
|
15
18
|
readonly onReady: import("@opensumi/ide-core-node").Event<IProcessReadyEvent>;
|
|
16
19
|
private readonly _onExit;
|
|
17
20
|
readonly onExit: import("@opensumi/ide-core-node").Event<IProcessExitEvent>;
|
|
21
|
+
private readonly sessionId;
|
|
18
22
|
private readonly _onProcessChange;
|
|
19
23
|
readonly onProcessChange: import("@opensumi/ide-core-node").Event<string>;
|
|
20
24
|
private previouslyProcess;
|
|
@@ -24,7 +28,7 @@ export declare class PtyService extends Disposable {
|
|
|
24
28
|
_validateCwd(): Promise<ITerminalLaunchError | undefined>;
|
|
25
29
|
_validateExecutable(): Promise<ITerminalLaunchError | undefined>;
|
|
26
30
|
start(): Promise<ITerminalLaunchError | undefined>;
|
|
27
|
-
|
|
31
|
+
protected setupPtyProcess(): Promise<void>;
|
|
28
32
|
private _sendProcessId;
|
|
29
33
|
parseCwd(): string;
|
|
30
34
|
getShellName(): string;
|
package/lib/node/pty.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/node/pty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/node/pty.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC,OAAO,EAAE,UAAU,EAAW,WAAW,EAAmB,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAA0B,MAAM,eAAe,CAAC;AAG3E,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,qBACa,UAAW,SAAQ,UAAU;IA+BrB,EAAE,EAAE,MAAM;aAAkB,iBAAiB,EAAE,kBAAkB;IA7BpF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAGvC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEzD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,sBAAsB,CAAC;IACjF,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,QAAQ,CAAC,MAAM,kDAAsB;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,QAAQ,CAAC,OAAO,8DAAuB;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,QAAQ,CAAC,MAAM,6DAAsB;IAGrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,QAAQ,CAAC,eAAe,kDAA+B;IAEvD,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,IAAI,GAAG,4BAEN;gBAEkB,EAAE,EAAE,MAAM,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAsB1G,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,YAAY,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAuBzD,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAiChE,KAAK,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;cAoDxC,eAAe;IAqC/B,OAAO,CAAC,cAAc;IAMtB,QAAQ;IASR,YAAY;IAIZ,MAAM;IAIN,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IASjC,SAAS,CAAC,IAAI,EAAE,MAAM;CAGvB"}
|
package/lib/node/pty.js
CHANGED
|
@@ -10,13 +10,11 @@ const tslib_1 = require("tslib");
|
|
|
10
10
|
const fs_1 = require("fs");
|
|
11
11
|
const os_1 = tslib_1.__importDefault(require("os"));
|
|
12
12
|
const omit_1 = tslib_1.__importDefault(require("lodash/omit"));
|
|
13
|
-
const pty = tslib_1.__importStar(require("node-pty"));
|
|
14
13
|
const osLocale = tslib_1.__importStar(require("os-locale"));
|
|
15
14
|
const di_1 = require("@opensumi/di");
|
|
16
|
-
const path = tslib_1.__importStar(require("@opensumi/ide-core-common/lib/path"));
|
|
17
|
-
const platform_1 = require("@opensumi/ide-core-common/lib/platform");
|
|
18
15
|
const ide_core_node_1 = require("@opensumi/ide-core-node");
|
|
19
16
|
const shell_path_1 = require("@opensumi/ide-core-node/lib/bootstrap/shell-path");
|
|
17
|
+
const pty_manager_1 = require("./pty.manager");
|
|
20
18
|
const shell_1 = require("./shell");
|
|
21
19
|
exports.IPtyService = Symbol('IPtyService');
|
|
22
20
|
let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
@@ -33,8 +31,8 @@ let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
|
33
31
|
this._onProcessChange = new ide_core_node_1.Emitter();
|
|
34
32
|
this.onProcessChange = this._onProcessChange.event;
|
|
35
33
|
let name;
|
|
36
|
-
if (
|
|
37
|
-
name = path.basename(this.shellLaunchConfig.executable || '');
|
|
34
|
+
if (ide_core_node_1.isWindows) {
|
|
35
|
+
name = ide_core_node_1.path.basename(this.shellLaunchConfig.executable || '');
|
|
38
36
|
}
|
|
39
37
|
else {
|
|
40
38
|
// Using 'xterm-256color' here helps ensure that the majority of Linux distributions will use a
|
|
@@ -49,6 +47,7 @@ let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
|
49
47
|
cols,
|
|
50
48
|
rows,
|
|
51
49
|
};
|
|
50
|
+
this.sessionId = id;
|
|
52
51
|
}
|
|
53
52
|
get pty() {
|
|
54
53
|
return this._ptyProcess;
|
|
@@ -108,7 +107,7 @@ let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
|
108
107
|
catch (err) {
|
|
109
108
|
if ((err === null || err === void 0 ? void 0 : err.code) === 'ENOENT') {
|
|
110
109
|
// The executable isn't an absolute path, try find it on the PATH or CWD
|
|
111
|
-
const envPaths = options.env && options.env.PATH ? options.env.PATH.split(path.delimiter) : undefined;
|
|
110
|
+
const envPaths = options.env && options.env.PATH ? options.env.PATH.split(ide_core_node_1.path.delimiter) : undefined;
|
|
112
111
|
const executable = await (0, shell_1.findExecutable)(options.executable, cwd, envPaths);
|
|
113
112
|
if (!executable) {
|
|
114
113
|
return {
|
|
@@ -167,10 +166,10 @@ let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
|
167
166
|
async setupPtyProcess() {
|
|
168
167
|
const options = this.shellLaunchConfig;
|
|
169
168
|
const args = options.args || [];
|
|
170
|
-
const ptyProcess =
|
|
171
|
-
this.addDispose(ptyProcess.onData((e) => {
|
|
169
|
+
const ptyProcess = await this.ptyServiceManager.spawn(options.executable, args, this._ptyOptions, this.sessionId);
|
|
170
|
+
this.addDispose(ptyProcess.onData(async (e) => {
|
|
172
171
|
this._onData.fire(e);
|
|
173
|
-
const processName = ptyProcess.
|
|
172
|
+
const processName = await ptyProcess.getProcessDynamically();
|
|
174
173
|
if (processName !== this.previouslyProcess) {
|
|
175
174
|
this.previouslyProcess = processName;
|
|
176
175
|
this._onProcessChange.fire(processName);
|
|
@@ -182,7 +181,7 @@ let PtyService = class PtyService extends ide_core_node_1.Disposable {
|
|
|
182
181
|
}));
|
|
183
182
|
ptyProcess.bin = options.executable;
|
|
184
183
|
ptyProcess.launchConfig = options;
|
|
185
|
-
ptyProcess.parsedName = path.basename(options.executable);
|
|
184
|
+
ptyProcess.parsedName = ide_core_node_1.path.basename(options.executable);
|
|
186
185
|
this._sendProcessId(ptyProcess.pid);
|
|
187
186
|
this._ptyProcess = ptyProcess;
|
|
188
187
|
}
|
|
@@ -226,6 +225,10 @@ tslib_1.__decorate([
|
|
|
226
225
|
(0, di_1.Autowired)(ide_core_node_1.INodeLogger),
|
|
227
226
|
tslib_1.__metadata("design:type", Object)
|
|
228
227
|
], PtyService.prototype, "logger", void 0);
|
|
228
|
+
tslib_1.__decorate([
|
|
229
|
+
(0, di_1.Autowired)(pty_manager_1.PtyServiceManagerToken),
|
|
230
|
+
tslib_1.__metadata("design:type", Object)
|
|
231
|
+
], PtyService.prototype, "ptyServiceManager", void 0);
|
|
229
232
|
PtyService = tslib_1.__decorate([
|
|
230
233
|
(0, di_1.Injectable)({ multiple: true }),
|
|
231
234
|
tslib_1.__metadata("design:paramtypes", [String, Object, Number, Number])
|
package/lib/node/pty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/node/pty.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;AAEhG,sIAAsI;AAEtI,2BAA8B;AAC9B,oDAAoB;AAEpB,+DAA+B;
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/node/pty.ts"],"names":[],"mappings":"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"}
|