TTY::Reader provides independent reader component for TTY toolkit.
A pure Ruby library that provides a set of methods for processing
keyboard input in character, line and multiline modes. It maintains
history of entered input with an ability to recall and re-edit those
inputs. It lets you register to listen for keystroke events and trigger
custom key events yourself.
The tty-reader is not compatible with the GNU Readline
and doesn't aim to be.
Features
Pure Ruby
Reading single keypress
Line editing
Reading multiline input
Ability to register for keystroke events
Track input history
No global state
Works on Linux, OS X, FreeBSD and Windows
Supports Ruby versions >= 2.0.0 & JRubyNumber of prompt types for
gathering user input