Re: [RFC] Io\Terminal
| From: | Sjoerd Langkemper | Date: | Fri, 23 Oct 2026 20:26:19 +0000 |
| Subject: | Re: [RFC] Io\Terminal | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132906@lists.php.net to get a copy of this message | ||
On Sun, Sep 27, 2026, at 19:19, Pratik Bhujel wrote:
> I would like to formally propose the Io\Terminal API for PHP 8.7:
>
> https://wiki.php.net/rfc/io_terminal
Thank you. Nice work.
> EOF before submission, cancellation, and operational failures throw
>
TerminalException.
Perhaps it would be desirable to distinguish between the user cancelling, and a genuine error, and
perhaps also EOF; for example with subclasses of TerminalException.
> The default for a blocking read is 25 milliseconds.
Is this sufficiently long, even when used over SSH or such? Is this configurable in readSecret as
well?
> A resize is returned as Key::Resize.
If I resize the terminal twice, do I get two Key::Resize? getSize() seems to update the stored size
of the terminal. Do I still get a Key::Resize after I call getSize()?
> $timeout sets the overall timeout: zero: make a non-blocking attempt
This would not work with escape sequences, right? Or does it work correctly if the key is already
buffered?
Regards,
Sjoerd Langkemper