hoaproject / Console

The Hoa\Console library.
https://hoa-project.net/
366 stars 32 forks source link

Readline doesn't working on Windows #86

Open gugglegum opened 6 years ago

gugglegum commented 6 years ago

The "Basic usage" example of Readline in official manual called Hack book of Hoa\Console doesn't working as expected. Here's this example:

$rl = new Hoa\Console\Readline\Readline();

do {
    $line = $rl->readLine('> ');
    echo '< ', $line, "\n\n";
} while (false !== $line && 'quit' !== $line);

It works fine on Linux. But on Windows (tested on 7 and 10) it doesn't prints a readline prompt prior user input. It prints it after user enter something end pressed Enter. I.e. user should enter some answer and only afterwards can see the question.

Additionally this script do not reacts on "quit" command because on Windows readline() returns user input with CR (ASCII 0x0D) symbol at the end.

Due to this issue this library cannot be used as universal cross-platform solution for console interaction with user.

Hywan commented 6 years ago

Thanks for the report!

What version of Windows or terminal are you using please?

gugglegum commented 6 years ago

@Hywan Windows 7 and Windows 10 affected for sure.

Hywan commented 6 years ago

And what terminal are you using :-)?

gugglegum commented 6 years ago

@hywan I use default terminal. DOS box? Cmd.exe based.