examples/ide.rb in rubytext-0.0.62 vs examples/ide.rb in rubytext-0.0.63

- old
+ new

@@ -1,7 +1,5 @@ -$LOAD_PATH << "lib" - if ARGV.size != 2 STDERR.puts "Usage: ruby ide.rb libname.rb progname.rb" exit end @@ -11,35 +9,10 @@ # print " " # FIXME - bug requires this? @lib, @code = ARGV -def menu -$debug.puts "Entering menu" - @mywin.output do -# boxme # FIXME - dumb hack - @mywin.clear - puts - puts " World's Simplest Ruby IDE\n " - puts " Lib = #{@lib}" - puts " Code = #{@code}" - puts - puts " 1 Edit lib" - puts " 2 Edit code" - puts " 3 Run code" - puts " 4 pry" - puts " 5 Shell" - puts " 6 irb" - puts " 7 RubyDocs" - puts - puts " 0 Quit" - print "\n Choice = " - @mywin.refresh # FIXME - dumb hack - end -$debug.puts "Exiting menu" -end - def shell(str) STDSCR.clear RubyText.show_cursor system("stty sane") # FIXME - dumb hack STDSCR.puts "\n\n When you exit, you will\n return to the IDE.\n " @@ -47,26 +20,39 @@ X.noecho # FIXME Shouldn't have to do this stuff X.stdscr.keypad(true) X.cbreak # by default end -@mywin = RubyText.window(19, 30, 1, 2, true) +items = ["Edit lib", # 0 + "Edit code", # 1 + "Run code", # 2 + "pry", # 3 + "Shell", # 4 + "irb", # 5 + "RubyDocs", # 6 + "Quit"] # 7 -loop do - menu - cmd = getch.chr - case cmd - when "1"; system("vi #{@lib}") - when "2"; system("vi #{@code}") - when "3"; system("tput clear; ruby #{@code}; sleep 5") - when "4"; shell("pry") - when "5"; shell("bash") - when "6"; shell("irb") - when "7"; system("open -a Safari http://ruby-doc.org") - when "0"; exit - else - @mywin.rcprint 12, 4, "\n\n No such command '#{cmd}'" - sleep 2 - next +def show + STDSCR.clear + puts + puts " World's Simplest Ruby IDE\n " + puts " Lib = #{@lib}" + puts " Code = #{@code}" + puts +end + +loop do + show + n, str = RubyText.menu(r: 10, c: 5, items: items) +puts n.inspect + case n + when 0; system("vi #{@lib}") + when 1; system("vi #{@code}") + when 2; system("tput clear; ruby #{@code}; sleep 5") + when 3; shell("pry") + when 4; shell("bash") + when 5; shell("irb") + when 6; system("open -a Safari http://ruby-doc.org") + when 7; exit end end