Proper interactive terminal applications like text editors have been a little limited historically because the erlang tooling for interacting with the terminal has only supported a “cooked” mode of reading input, requiring newlines to send input to your program. There were some workarounds involving spawning a tty_sl
port or stty
port with the right flags, but those approaches also came with some limitations and deprecations, including not capturing all metakey keyboard inputs fidelitously (fighting with erlang interactive shell key combos).
Serendipitously, upcoming support for a non-cooked “raw” mode in erlang tooling was PRd a month ago, see forum discussion here: Raw terminal mode coming to OTP 28!
That PR even has (erlang) guides for making your own interactive terminal game and shell, so I’d say now is a great time to be exploring this space!