Skip to content

Commit beaa41c

Browse files
authored
Merge pull request #83 from Lynesth/patch-3
Don't clean terminal on each redraw but...
2 parents 3df91f1 + f917a03 commit beaa41c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/CliMenu.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,9 +316,6 @@ private function assertOpen() : void
316316
*/
317317
protected function draw() : void
318318
{
319-
$this->terminal->clean();
320-
$this->terminal->moveCursorToTop();
321-
322319
$frame = new Frame;
323320

324321
$frame->newLine(2);
@@ -336,10 +333,15 @@ protected function draw() : void
336333
$frame->addRows($this->drawMenuItem(new LineBreakItem()));
337334

338335
$frame->newLine(2);
339-
336+
337+
$this->terminal->moveCursorToTop();
340338
foreach ($frame->getRows() as $row) {
339+
if ($row == "\n") {
340+
$this->terminal->write("\033[2K");
341+
}
341342
$this->terminal->write($row);
342343
}
344+
$this->terminal->write("\033[J");
343345

344346
$this->currentFrame = $frame;
345347
}

0 commit comments

Comments
 (0)