fix(.../platform/terminal): fix compile, add notes

This commit is contained in:
Akash Satheesan 2021-04-14 18:58:17 +05:30
parent f472b000b5
commit 093743e365
No known key found for this signature in database
GPG Key ID: 93CBAADFEA703F8E
2 changed files with 12 additions and 2 deletions

View File

@ -78,7 +78,10 @@ export class PtyService extends Disposable implements IPtyService {
throw new Error('Attempt to create a process when attach object was provided'); throw new Error('Attempt to create a process when attach object was provided');
} }
const id = ++this._lastPtyId; const id = ++this._lastPtyId;
const process = new TerminalProcess(shellLaunchConfig, cwd, cols, rows, env, executableEnv, windowsEnableConpty, this._logService); /**
* NOTE@coder: pass ID into TerminalProcess to fix compile.
*/
const process = new TerminalProcess(id, shellLaunchConfig, cwd, cols, rows, env, executableEnv, windowsEnableConpty, this._logService);
process.onProcessData(event => this._onProcessData.fire({ id, event })); process.onProcessData(event => this._onProcessData.fire({ id, event }));
process.onProcessExit(event => this._onProcessExit.fire({ id, event })); process.onProcessExit(event => this._onProcessExit.fire({ id, event }));
if (process.onProcessOverrideDimensions) { if (process.onProcessOverrideDimensions) {
@ -328,7 +331,7 @@ export class PersistentTerminalProcess extends Disposable {
} }
return undefined; return undefined;
} }
shutdown(immediate: boolean): Promise<void> { shutdown(immediate: boolean): void {
return this._terminalProcess.shutdown(immediate); return this._terminalProcess.shutdown(immediate);
} }
input(data: string): void { input(data: string): void {

View File

@ -50,6 +50,12 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess
private _exitCode: number | undefined; private _exitCode: number | undefined;
private _exitMessage: string | undefined; private _exitMessage: string | undefined;
private _closeTimeout: any; private _closeTimeout: any;
/**
* NOTE@coder: set _ptyProcess and _currentTitle to protected
* to allow access from subclasses.
*
* We subclass it in src/vs/server/channel.ts
*/
protected _ptyProcess: pty.IPty | undefined; protected _ptyProcess: pty.IPty | undefined;
protected _currentTitle: string = ''; protected _currentTitle: string = '';
private _processStartupComplete: Promise<void> | undefined; private _processStartupComplete: Promise<void> | undefined;
@ -80,6 +86,7 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess
private readonly _onProcessShellTypeChanged = this._register(new Emitter<TerminalShellType>()); private readonly _onProcessShellTypeChanged = this._register(new Emitter<TerminalShellType>());
public readonly onProcessShellTypeChanged = this._onProcessShellTypeChanged.event; public readonly onProcessShellTypeChanged = this._onProcessShellTypeChanged.event;
// NOTE@coder: add id to constructor
constructor( constructor(
public readonly id: number = 0, public readonly id: number = 0,
private readonly _shellLaunchConfig: IShellLaunchConfig, private readonly _shellLaunchConfig: IShellLaunchConfig,