mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-25 15:35:43 +01:00
Merge pull request #207952 from microsoft/tyriar/instance_cleanup
Reuse write code in _onProcessData
This commit is contained in:
@@ -1459,23 +1459,22 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
|
||||
}
|
||||
|
||||
private _onProcessData(ev: IProcessDataEvent): void {
|
||||
const messageId = ++this._latestXtermWriteData;
|
||||
if (ev.trackCommit) {
|
||||
ev.writePromise = new Promise<void>(r => {
|
||||
this.xterm?.raw.write(ev.data, () => {
|
||||
this._latestXtermParseData = messageId;
|
||||
this._processManager.acknowledgeDataEvent(ev.data.length);
|
||||
r();
|
||||
});
|
||||
});
|
||||
ev.writePromise = new Promise<void>(r => this._writeProcessData(ev, r));
|
||||
} else {
|
||||
this.xterm?.raw.write(ev.data, () => {
|
||||
this._latestXtermParseData = messageId;
|
||||
this._processManager.acknowledgeDataEvent(ev.data.length);
|
||||
});
|
||||
this._writeProcessData(ev);
|
||||
}
|
||||
}
|
||||
|
||||
private _writeProcessData(ev: IProcessDataEvent, cb?: () => void) {
|
||||
const messageId = ++this._latestXtermWriteData;
|
||||
this.xterm?.raw.write(ev.data, () => {
|
||||
this._latestXtermParseData = messageId;
|
||||
this._processManager.acknowledgeDataEvent(ev.data.length);
|
||||
cb?.();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when either a process tied to a terminal has exited or when a terminal renderer
|
||||
* simulates a process exiting (e.g. custom execution task).
|
||||
|
||||
Reference in New Issue
Block a user