Skip to content

Commit 73eace5

Browse files
committed
Move initial data tracking into separate listener
1 parent 8601698 commit 73eace5

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/vs/workbench/contrib/terminal/browser/terminalInstance.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
165165
private _layoutSettingsChanged: boolean = true;
166166
private _dimensionsOverride: ITerminalDimensionsOverride | undefined;
167167
private _areLinksReady: boolean = false;
168+
private readonly _initialDataEventsListener: MutableDisposable<IDisposable> = this._register(new MutableDisposable());
168169
private _initialDataEvents: string[] | undefined = [];
169170
private _containerReadyBarrier: AutoOpenBarrier;
170171
private _attachBarrier: AutoOpenBarrier;
@@ -550,6 +551,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
550551
let initialDataEventsTimeout: number | undefined = dom.getWindow(this._container).setTimeout(() => {
551552
initialDataEventsTimeout = undefined;
552553
this._initialDataEvents = undefined;
554+
this._initialDataEventsListener.clear();
553555
}, 10000);
554556
this._register(toDisposable(() => {
555557
if (initialDataEventsTimeout) {
@@ -1394,6 +1396,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
13941396
}
13951397
}));
13961398

1399+
this._initialDataEventsListener.value = processManager.onProcessData(ev => this._initialDataEvents?.push(ev.data));
13971400
this._register(processManager.onProcessReplayComplete(() => this._onProcessReplayComplete.fire()));
13981401
this._register(processManager.onEnvironmentVariableInfoChanged(e => this._onEnvironmentVariableInfoChanged(e)));
13991402
this._register(processManager.onPtyDisconnect(() => {
@@ -1476,9 +1479,6 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
14761479
}
14771480

14781481
private _onProcessData(ev: IProcessDataEvent): void {
1479-
// TODO: Move to separate listener
1480-
this._initialDataEvents?.push(ev.data);
1481-
14821482
// Ensure events are split by SI command execute sequence to ensure the output of the
14831483
// command can be read by extensions. This must be done here as xterm.js does not currently
14841484
// have a listener for when individual data events are parsed, only `onWriteParsed` which

0 commit comments

Comments
 (0)