X7ROOT File Manager
Current Path:
/home/prisjneg/public_html/vendor/laravel/prompts/src
home
/
prisjneg
/
public_html
/
vendor
/
laravel
/
prompts
/
src
/
📁
..
📁
Concerns
📄
ConfirmPrompt.php
(1.36 KB)
📁
Exceptions
📄
FormBuilder.php
(9.28 KB)
📄
FormStep.php
(1.32 KB)
📄
Key.php
(1.53 KB)
📄
MultiSearchPrompt.php
(6.12 KB)
📄
MultiSelectPrompt.php
(4.13 KB)
📄
Note.php
(702 B)
📁
Output
📄
PasswordPrompt.php
(1 KB)
📄
PausePrompt.php
(568 B)
📄
Progress.php
(4.59 KB)
📄
Prompt.php
(10.04 KB)
📄
SearchPrompt.php
(4.03 KB)
📄
SelectPrompt.php
(3.25 KB)
📄
Spinner.php
(3.24 KB)
📄
SuggestPrompt.php
(3.97 KB)
📄
Table.php
(1.58 KB)
📄
Terminal.php
(2.43 KB)
📄
TextPrompt.php
(885 B)
📄
TextareaPrompt.php
(6.83 KB)
📁
Themes
📄
helpers.php
(7.7 KB)
Editing: Terminal.php
<?php namespace Laravel\Prompts; use ReflectionClass; use RuntimeException; use Symfony\Component\Console\Terminal as SymfonyTerminal; class Terminal { /** * The initial TTY mode. */ protected ?string $initialTtyMode; /** * The Symfony Terminal instance. */ protected SymfonyTerminal $terminal; /** * Create a new Terminal instance. */ public function __construct() { $this->terminal = new SymfonyTerminal; } /** * Read a line from the terminal. */ public function read(): string { $input = fread(STDIN, 1024); return $input !== false ? $input : ''; } /** * Set the TTY mode. */ public function setTty(string $mode): void { $this->initialTtyMode ??= $this->exec('stty -g'); $this->exec("stty $mode"); } /** * Restore the initial TTY mode. */ public function restoreTty(): void { if (isset($this->initialTtyMode)) { $this->exec("stty {$this->initialTtyMode}"); $this->initialTtyMode = null; } } /** * Get the number of columns in the terminal. */ public function cols(): int { return $this->terminal->getWidth(); } /** * Get the number of lines in the terminal. */ public function lines(): int { return $this->terminal->getHeight(); } /** * (Re)initialize the terminal dimensions. */ public function initDimensions(): void { (new ReflectionClass($this->terminal)) ->getMethod('initDimensions') ->invoke($this->terminal); } /** * Exit the interactive session. */ public function exit(): void { exit(1); } /** * Execute the given command and return the output. */ protected function exec(string $command): string { $process = proc_open($command, [ 1 => ['pipe', 'w'], 2 => ['pipe', 'w'], ], $pipes); if (! $process) { throw new RuntimeException('Failed to create process.'); } $stdout = stream_get_contents($pipes[1]); $stderr = stream_get_contents($pipes[2]); $code = proc_close($process); if ($code !== 0 || $stdout === false) { throw new RuntimeException(trim($stderr ?: "Unknown error (code: $code)"), $code); } return $stdout; } }
Upload File
Create Folder