![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/vendor/laravel/prompts/src/Concerns/ |
<?php namespace Laravel\Prompts\Concerns; trait Cursor { /** * Indicates if the cursor has been hidden. */ protected static bool $cursorHidden = false; /** * Hide the cursor. */ public function hideCursor(): void { static::writeDirectly("\e[?25l"); static::$cursorHidden = true; } /** * Show the cursor. */ public function showCursor(): void { static::writeDirectly("\e[?25h"); static::$cursorHidden = false; } /** * Restore the cursor if it was hidden. */ public function restoreCursor(): void { if (static::$cursorHidden) { $this->showCursor(); } } /** * Move the cursor. */ public function moveCursor(int $x, int $y = 0): void { $sequence = ''; if ($x < 0) { $sequence .= "\e[".abs($x).'D'; // Left } elseif ($x > 0) { $sequence .= "\e[{$x}C"; // Right } if ($y < 0) { $sequence .= "\e[".abs($y).'A'; // Up } elseif ($y > 0) { $sequence .= "\e[{$y}B"; // Down } static::writeDirectly($sequence); } /** * Move the cursor to the given column. */ public function moveCursorToColumn(int $column): void { static::writeDirectly("\e[{$column}G"); } /** * Move the cursor up by the given number of lines. */ public function moveCursorUp(int $lines): void { static::writeDirectly("\e[{$lines}A"); } }