diff --git a/addons/xterm-addon-search/src/SearchAddon.api.ts b/addons/xterm-addon-search/src/SearchAddon.api.ts index 186cccca..14e12a8c 100644 --- a/addons/xterm-addon-search/src/SearchAddon.api.ts +++ b/addons/xterm-addon-search/src/SearchAddon.api.ts @@ -111,12 +111,7 @@ async function openTerminal(options: ITerminalOptions = {}): Promise { } async function writeSync(data: string): Promise { - await page.evaluate(`window.term.write('${data}');`); - while (true) { - if (await page.evaluate(`window.term._core._writeBuffer.length === 0`)) { - break; - } - } + return page.evaluate(`new Promise(resolve => window.term.write('${data}', resolve))`); } function makeData(length: number): string { diff --git a/addons/xterm-addon-webgl/src/WebglRenderer.api.ts b/addons/xterm-addon-webgl/src/WebglRenderer.api.ts index 82ac0adf..66be22d9 100644 --- a/addons/xterm-addon-webgl/src/WebglRenderer.api.ts +++ b/addons/xterm-addon-webgl/src/WebglRenderer.api.ts @@ -145,12 +145,7 @@ async function openTerminal(options: ITerminalOptions = {}): Promise { } async function writeSync(data: string): Promise { - await page.evaluate(`window.term.write('${data}');`); - while (true) { - if (await page.evaluate(`window.term._core._writeBuffer.length === 0`)) { - break; - } - } + return page.evaluate(`new Promise(resolve => window.term.write('${data}', resolve))`); } async function getCellColor(col: number, row: number): Promise {