diff --git a/src/vs/workbench/api/node/extHostTerminalService.ts b/src/vs/workbench/api/node/extHostTerminalService.ts index b4aa39cce9a..fe7c524a423 100644 --- a/src/vs/workbench/api/node/extHostTerminalService.ts +++ b/src/vs/workbench/api/node/extHostTerminalService.ts @@ -22,7 +22,6 @@ import { ExtHostVariableResolverService } from 'vs/workbench/api/node/extHostDeb import { ExtHostDocumentsAndEditors } from 'vs/workbench/api/common/extHostDocumentsAndEditors'; import { getSystemShell, detectAvailableShells } from 'vs/workbench/contrib/terminal/node/terminal'; import { getMainProcessParentEnv } from 'vs/workbench/contrib/terminal/node/terminalEnvironment'; -import { IDisposable } from 'vs/base/common/lifecycle'; export class BaseExtHostTerminal { public _id: number | undefined; @@ -687,9 +686,6 @@ class ApiRequest { } class ExtHostPseudoterminal implements ITerminalChildProcess { - private _queuedEvents: (IQueuedEvent | IQueuedEvent | IQueuedEvent<{ pid: number, cwd: string }> | IQueuedEvent)[] = []; - private _queueDisposables: IDisposable[] | undefined; - private readonly _onProcessData = new Emitter(); public readonly onProcessData: Event = this._onProcessData.event; private readonly _onProcessExit = new Emitter(); @@ -701,18 +697,7 @@ class ExtHostPseudoterminal implements ITerminalChildProcess { private readonly _onProcessOverrideDimensions = new Emitter(); public get onProcessOverrideDimensions(): Event { return this._onProcessOverrideDimensions.event; } - constructor( - private readonly _pty: vscode.Pseudoterminal - ) { - this._queueDisposables = []; - this._queueDisposables.push(this._pty.onDidWrite(e => this._queuedEvents.push({ emitter: this._onProcessData, data: e }))); - if (this._pty.onDidClose) { - this._queueDisposables.push(this._pty.onDidClose(e => this._queuedEvents.push({ emitter: this._onProcessExit, data: 0 }))); - } - if (this._pty.onDidOverrideDimensions) { - this._queueDisposables.push(this._pty.onDidOverrideDimensions(e => this._queuedEvents.push({ emitter: this._onProcessOverrideDimensions, data: e ? { cols: e.columns, rows: e.rows } : undefined }))); - } - } + constructor(private readonly _pty: vscode.Pseudoterminal) { } shutdown(): void { this._pty.close(); @@ -743,12 +728,7 @@ class ExtHostPseudoterminal implements ITerminalChildProcess { } startSendingEvents(initialDimensions: ITerminalDimensionsDto | undefined): void { - // Flush all buffered events - this._queuedEvents.forEach(e => (e.emitter.fire)(e.data)); - this._queuedEvents = []; - this._queueDisposables = undefined; - - // Attach the real listeners + // Attach the listeners this._pty.onDidWrite(e => this._onProcessData.fire(e)); if (this._pty.onDidClose) { this._pty.onDidClose(e => this._onProcessExit.fire(0)); @@ -761,7 +741,3 @@ class ExtHostPseudoterminal implements ITerminalChildProcess { } } -interface IQueuedEvent { - emitter: Emitter; - data: T; -}