github.com/burl/inquire (go): Package inquire provides a set of widgets for creating simple line-oriented terminal user interfaces.  User interfaces consist of line-oriented "widgets" of the following types:  Widgets may be easily declared and bound to variables to receive input from the user.  Optional validation may be tied to widgets and validation error text will be displayed in the (always available and otherwise blank) line below each widget.  Widgets may also be conditionally skipped based on conditions that msut be met in a 'When' callback.  inquire uses a modified termbox-go library that is made to render part of the termbox buffer into a region of lines as a "viewport," without taking over the entire screen.
Keywords: chui|go|golang|terminal|terminal-colors|user-input