From: itsme213 Date: 2005-05-22T03:45:16+09:00 Subject: Re: [ANN] HighLine 0.6.0 -- Now with menus! I get an install error on termios. Highline does not install (regardless of y/n to termios installation). Running Win-XP, gem 0.8.10. Anything different I should try? C:\>gem install highline Attempting local installation of 'highline' Local gem file not found: highline*.gem Attempting remote installation of 'highline' Updating Gem source index for: http://gems.rubyforge.org Install required dependency termios? [Yn] y Building native extensions. This could take a while... ERROR: While executing gem ... (RuntimeError) ERROR: Failed to build gem native extension. Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/termios-0.9.4 for inspection. ruby extconf.rb install highline\nchecking for termios.h... no Results logged to c:/ruby/lib/ruby/gems/1.8/gems/termios-0.9.4/gem_make.out "James Edward Gray II" wrote in message news:BFA34C69-3D69-41D9-AF1B-0AAE285E85F8@grayproductions.net... > HighLine 0.6.0 Released > ======================= > > The latest version of HighLine comes with two massive new features. > The first is the new HighLine Developer, Greg Brown. Now if you > don't believe me that Greg is a major new feature, just look what he > did... > > The second major new feature of this release is the complete HighLine > menuing system designed and built by Greg Brown (with minimal input > from James)! You heard that right, we've had multiple requests for > this one and the wait is now over. HighLine is ready for menus, from > simple to complex: > > # Simple... > case choose(:iterate, :recurse) # HighLine code begins and ends here! > when :iterate > # whatever (using iteration)... > when :recurse > # whatever (recursively)... > end > > # Getting fancier -- action code and index customization... > choose do |menu| > menu.index = :letter > menu.index_suffix = ") " > > menu.prompt = "Please choose your favorite programming language? " > > menu.choice :ruby do say("Good choice!") end > menu.choices(:python, :perl) do say("Not from around here, are > you?") end > end > > # Just plain fun -- shells in HighLine! > loop do > choose do |menu| > menu.layout = :menu_only > > menu.shell = true > menu.case = :capitalize > > menu.choice :Load do |command, details| > say("Loading file with options: #{details}...") > end > menu.choice :Save do |command, details| > say("Saving file with options: #{details}...") > end > menu.choice(:Quit) { exit } > end > end > > There's more folks. That was just a tease. Do look into all the > features choose() offers. > > In addition, we've implemented other feature requests like echo = "*" > and fixed every known bug! Also, true to my word, someone (Greg > again!) pointed out a flaw with the "stty" implementation, so we > switched to "termios" as has been discussed on this list. However, > if you have any trouble getting "termios" installed, HighLine will > just default to the old system (and we even improved that!). > > As you can see, it's quite a release. If you've held off on taking a > look at HighLine, now is the time! > > See documentation and examples for more details. > > If anyone uses this, feedback is welcome > (james@grayproductions.net). We do have a TODO list of features we > would like to add, but we're also open to suggestions. > > If you have any trouble with character reading or echo, especially on > Windows, please let me know. > > What is HighLine? > ----------------- > > (from the README) > > HighLine was designed to ease the tedious tasks of doing console > input and output with low-level methods like gets() and puts(). > HighLine provides a robust system for requesting data from a user, > without needing to code all the error checking and validation rules > and without needing to convert the typed Strings into what your > program really needs. Just tell HighLine what you're after, and let > it do all the work. > > What's new in this release? > --------------------------- > > (highlights from the CHANGELOG) > > * Implemented HighLine.choose() for menu handling. > * Provided shortcut choose(item1, item2, ...) for simple menus. > * Allowed Ruby code to be attached to each menu item, to create a > complete > menu solution. > * Provided for total customization of the menu layout. > * Allowed for menu selection by index, name or both. > * Added a shell mode to allow menu selection with additional details > following the name. > * Added support for echo = "*" style settings. User code can now > choose the echo character this way. > * Modified HighLine to user the "termios" library for character > input, if > available. Will return to old behavior (using "stty"), if > "termios" cannot be > loaded. > * Improved "stty" state restoring code. > * Fixed "stty" code to handle interrupt signals. > > Plus documentation and examples for the new features. We also fixed > all reported bugs! > > Where can I learn more? > ----------------------- > > HighLine is hosted on RubyForge. > > Project page: http://rubyforge.org/projects/highline/ > Documentation: http://highline.rubyforge.org/ > Downloads: http://rubyforge.org/frs/?group_id=683 > > How do I get HighLine? > ---------------------- > > HighLine is a gem, so as long as you have RubyGems installed it's as > simple as: > > $ sudo gem install highline > > If you need to install RubyGems, you can download it from: > > http://rubyforge.org/frs/?group_id=126&release_id=1885 > > HighLine can also be installed manually. Just download the latest > release and follow the instructions in INSTALL: > > http://rubyforge.org/frs/?group_id=683&release_id=2211 > > Our Thanks! > ----------- > > We want to thank all the people that have helped make this library > something genuinely useful: > > Ryan Leavengood > Vincent Foley > Mark Hubbart > Andre Nathan > Martin DeMello > YANAGAWA Kazuhisa > > Thanks so much for the feedback, bug reports, and wonderful tips and > tricks! > > James Edward Gray II > Greg Brown > > >