trivial bug fixes

This commit is contained in:
chloe caruso 2025-03-15 01:41:32 -07:00
parent b744837ea6
commit 968f4ab467
2 changed files with 10 additions and 2 deletions

View file

@ -113,7 +113,9 @@ export abstract class Widget {
export function redrawWidgetsSoon() { export function redrawWidgetsSoon() {
if (widgetLineCount) { if (widgetLineCount) {
writeToStderr( writeToStderr(
ansi.eraseLine + (ansi.cursorUp(1) + ansi.eraseLine).repeat(widgetLineCount) + '\r' '\u001B[?2026h' +
ansi.eraseLine + (ansi.cursorUp(1) + ansi.eraseLine).repeat(widgetLineCount) + '\r',
true,
); );
widgetLineCount = 0; widgetLineCount = 0;
redrawingThisTick = true; redrawingThisTick = true;

View file

@ -40,15 +40,21 @@ export function stringify(...data: any[]) {
} }
let buffer = ''; let buffer = '';
let bufferNeedsUnfreeze = false;
let exiting = false; let exiting = false;
export function writeToStderr(data: string) { export function writeToStderr(data: string, needsUnfreeze = false) {
buffer += data; buffer += data;
if (exiting) flushStderr(); if (exiting) flushStderr();
if (needsUnfreeze) bufferNeedsUnfreeze = true;
} }
export function flushStderr() { export function flushStderr() {
if (buffer) { if (buffer) {
if (bufferNeedsUnfreeze) {
buffer += '\u001B[?2026l';
bufferNeedsUnfreeze = false;
}
writeSync(2, buffer); writeSync(2, buffer);
buffer = ''; buffer = '';
} }