Sha256: 87ccfeecc877f24e4f9d7b93fd79ba1f710dc2384e49163492110661b6c24643

Contents?: true

Size: 1.13 KB

Versions: 17

Compression:

Stored size: 1.13 KB

Contents

if ARGV.size != 2
  STDERR.puts "Usage: ruby ide.rb libname.rb progname.rb"
  exit
end

require 'rubytext'

RubyText.start

@lib, @code = ARGV

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 "
  system(str)
  X.noecho   # FIXME Shouldn't have to do this stuff
  X.stdscr.keypad(true)
  X.cbreak   # by default
end

items = ["Edit lib",   # 0
         "Edit code",  # 1
         "Run code",   # 2
         "pry",        # 3
         "Shell",      # 4
         "irb",        # 5
         "RubyDocs",   # 6
         "Quit"]       # 7

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

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rubytext-0.0.89 examples/ide.rb
rubytext-0.0.88 examples/ide.rb
rubytext-0.0.87 examples/ide.rb
rubytext-0.0.86 examples/ide.rb
rubytext-0.0.85 examples/ide.rb
rubytext-0.0.84 examples/ide.rb
rubytext-0.0.83 examples/ide.rb
rubytext-0.0.82 examples/ide.rb
rubytext-0.0.81 examples/ide.rb
rubytext-0.0.80 examples/ide.rb
rubytext-0.0.79 examples/ide.rb
rubytext-0.0.78 examples/ide.rb
rubytext-0.0.77 examples/ide.rb
rubytext-0.0.76 examples/ide.rb
rubytext-0.0.75 examples/ide.rb
rubytext-0.0.74 examples/ide.rb
rubytext-0.0.73 examples/ide.rb