1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:17:35 +00:00

LibLine: Make clear_lines() work when only clearing the current line

This commit is contained in:
AnotherTest 2021-02-21 04:37:43 +03:30 committed by Andreas Kling
parent 6472e5239c
commit 9790ee4649

View file

@ -1531,12 +1531,16 @@ void VT::apply_style(const Style& style, bool is_starting)
void VT::clear_lines(size_t count_above, size_t count_below)
{
if (count_below + count_above == 0) {
fputs("\033[2K", stderr);
} else {
// Go down count_below lines.
if (count_below > 0)
fprintf(stderr, "\033[%dB", (int)count_below);
// Then clear lines going upwards.
for (size_t i = count_below + count_above; i > 0; --i)
fputs(i == 1 ? "\033[2K" : "\033[2K\033[A", stderr);
}
}
void VT::save_cursor()