curses_menu
Ruby API to create terminal-based menus, using [curses][link-curses].
- Easy navigation using arrows, page up/down, home, end, enter and escape keys.
- Several actions per menu item.
- Scrolling support.
- Extensive formatting options with colors, alignments, decorations...
- Easy support for sub-menus.
- Automatic key presses for autmating tasks in the menu.
- Ruby-like API.
Install
Via gem
$ gem install curses_menu
Via a Gemfile
$ gem 'curses_menu'
Usage
require 'curses_menu'
CursesMenu.new 'My awesome new menu!' do ||
.item 'How\'s life?' do
puts 'Couldn\'t be easier'
:menu_exit
end
end
Check the [examples][link-examples] folder for more examples.
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
Automated tests are done using rspec.
Do execute them, first install development dependencies:
bundle install
Then execute rspec
bundle exec rspec
Contributing
Any contribution is welcome:
- Fork the github project and create pull requests.
- Report bugs by creating tickets.
- Suggest improvements and new features by creating tickets.
Credits
- [Muriel Salvan][link-author]
License
The BSD License. Please see License File for more information.
[link-curses]: https://rubygems.org/gems/curses/versions/1.2.4 [link-examples]: ./examples