node-pty@0.11.0-beta33 and fix Windows clear issue

Fixes #75141
This commit is contained in:
Daniel Imms 2023-06-09 09:00:09 -07:00
parent 58f4c35891
commit bd67e21e3a
No known key found for this signature in database
GPG key ID: E5CF412B63651C69
13 changed files with 35 additions and 11 deletions

View file

@ -83,7 +83,7 @@
"native-is-elevated": "0.6.0",
"native-keymap": "^3.3.2",
"native-watchdog": "^1.4.1",
"node-pty": "0.11.0-beta32",
"node-pty": "0.11.0-beta33",
"tas-client-umd": "0.1.8",
"v8-inspect-profiler": "^0.1.0",
"vscode-oniguruma": "1.7.0",

View file

@ -19,7 +19,7 @@
"keytar": "7.9.0",
"minimist": "^1.2.6",
"native-watchdog": "^1.4.1",
"node-pty": "0.11.0-beta32",
"node-pty": "0.11.0-beta33",
"tas-client-umd": "0.1.8",
"vscode-oniguruma": "1.7.0",
"vscode-regexpp": "^3.1.0",

View file

@ -537,10 +537,10 @@ node-gyp-build@^4.3.0:
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3"
integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==
node-pty@0.11.0-beta32:
version "0.11.0-beta32"
resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta32.tgz#49c0f174f600ac3f54a21df2a41b6f78256ff6ce"
integrity sha512-xtzB4/jYH64ksdVatYQnaU3TtCtSaDiiZPsZITmLHnywFSpI2bgfyj/bu6ofOXbe8PTtziL8bDn1U3xkRmx3mg==
node-pty@0.11.0-beta33:
version "0.11.0-beta33"
resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta33.tgz#722a729fb9449f591279bee1f8b431b71a9af4a1"
integrity sha512-SoP5BbSfvc8Um51rIriUEOPvMltc43iTaKXGJaJKLR3+NfQbjcCcNQGyOd9P9pvBccWYg+Rncv18qMtJKIAi1Q==
dependencies:
nan "^2.17.0"

View file

@ -707,7 +707,7 @@ export interface ITerminalChildProcess {
input(data: string): void;
processBinary(data: string): Promise<void>;
resize(cols: number, rows: number): void;
clearBuffer?(): Promise<void>;
clearBuffer(): void | Promise<void>;
/**
* Acknowledge a data event has been parsed by the terminal, this is used to implement flow

View file

@ -759,6 +759,7 @@ class PersistentTerminalProcess extends Disposable {
}
async clearBuffer(): Promise<void> {
this._serializer.clearBuffer();
this._terminalProcess.clearBuffer();
}
setUnicodeVersion(version: '6' | '11'): void {
this.unicodeVersion = version;

View file

@ -552,6 +552,10 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess
}
}
clearBuffer(): void {
this._ptyProcess?.clear();
}
acknowledgeDataEvent(charCount: number): void {
// Prevent lower than 0 to heal from errors
this._unacknowledgedCharCount = Math.max(this._unacknowledgedCharCount - charCount, 0);

View file

@ -288,6 +288,10 @@ class ExtHostPseudoterminal implements ITerminalChildProcess {
this._pty.setDimensions?.({ columns: cols, rows });
}
clearBuffer(): void | Promise<void> {
// no-op
}
async processBinary(data: string): Promise<void> {
// No-op, processBinary is not supported in extension owned terminals.
}

View file

@ -107,6 +107,10 @@ export class RemotePty extends Disposable implements ITerminalChildProcess {
});
}
async clearBuffer(): Promise<void> {
await this._remoteTerminalChannel.clearBuffer(this.id);
}
freePortKillProcess(port: string): Promise<{ port: string; processId: string }> {
if (!this._remoteTerminalChannel.freePortKillProcess) {
throw new Error('freePortKillProcess does not exist on the local pty service');

View file

@ -134,6 +134,10 @@ export class TerminalProcessExtHostProxy extends Disposable implements ITerminal
this._onResize.fire({ cols, rows });
}
clearBuffer(): void | Promise<void> {
// no-op
}
acknowledgeDataEvent(): void {
// Flow control is disabled for extension terminals
}

View file

@ -46,6 +46,7 @@ class TestTerminalChildProcess implements ITerminalChildProcess {
shutdown(immediate: boolean): void { }
input(data: string): void { }
resize(cols: number, rows: number): void { }
clearBuffer(): void { }
acknowledgeDataEvent(charCount: number): void { }
async setUnicodeVersion(version: '6' | '11'): Promise<void> { }
async getInitialCwd(): Promise<string> { return ''; }

View file

@ -259,6 +259,9 @@ class TestOutputProcess extends Disposable implements ITerminalChildProcess {
public resize(): void {
// no-op
}
public clearBuffer(): void | Promise<void> {
// no-op
}
public acknowledgeDataEvent(): void {
// no-op, flow control not currently implemented
}

View file

@ -124,6 +124,9 @@ class EmbedderTerminalProcess extends Disposable implements ITerminalChildProces
resize(): void {
// no-op
}
clearBuffer(): void | Promise<void> {
// no-op
}
acknowledgeDataEvent(): void {
// no-op, flow control not currently implemented
}

View file

@ -6973,10 +6973,10 @@ node-gyp-build@^4.3.0:
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3"
integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==
node-pty@0.11.0-beta32:
version "0.11.0-beta32"
resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta32.tgz#49c0f174f600ac3f54a21df2a41b6f78256ff6ce"
integrity sha512-xtzB4/jYH64ksdVatYQnaU3TtCtSaDiiZPsZITmLHnywFSpI2bgfyj/bu6ofOXbe8PTtziL8bDn1U3xkRmx3mg==
node-pty@0.11.0-beta33:
version "0.11.0-beta33"
resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-0.11.0-beta33.tgz#722a729fb9449f591279bee1f8b431b71a9af4a1"
integrity sha512-SoP5BbSfvc8Um51rIriUEOPvMltc43iTaKXGJaJKLR3+NfQbjcCcNQGyOd9P9pvBccWYg+Rncv18qMtJKIAi1Q==
dependencies:
nan "^2.17.0"