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
