[macruby-changes] [4742] DietRB/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Fri Oct 8 04:08:27 PDT 2010
Revision: 4742
http://trac.macosforge.org/projects/ruby/changeset/4742
Author: eloy.de.enige at gmail.com
Date: 2010-10-08 04:08:26 -0700 (Fri, 08 Oct 2010)
Log Message:
-----------
Move handling a file, as input, back to bin/dietrb. And add option for selecting a driver.
From: Eloy Duran <eloy.de.enige at gmail.com>
Modified Paths:
--------------
DietRB/trunk/bin/dietrb
Removed Paths:
-------------
DietRB/trunk/lib/irb/driver/file.rb
Modified: DietRB/trunk/bin/dietrb
===================================================================
--- DietRB/trunk/bin/dietrb 2010-10-08 11:08:17 UTC (rev 4741)
+++ DietRB/trunk/bin/dietrb 2010-10-08 11:08:26 UTC (rev 4742)
@@ -5,18 +5,20 @@
unless ARGV.empty?
require 'optparse'
+ driver = nil
ignore_irbrc = false
OptionParser.new do |opt|
bin = File.basename($0)
opt.banner = "Usage: #{bin} [options] [programfile] [arguments]"
- opt.on("-f", "Ignore ~/.irbrc") { |ignore| ignore_irbrc = ignore }
- opt.on("-r load-lib", "Loads the given library (same as `ruby -r')") { |lib| require lib }
- opt.on("-d", "Set $DEBUG to true (same as `ruby -d')") { $DEBUG = true }
- opt.on("-I path", "Add path to $LOAD_PATH") { |path| $LOAD_PATH.unshift(path) }
- opt.on("--noinspect", "Don't use inspect for output") { IRB.formatter.inspect = false }
- opt.on("--simple-prompt", "Simple prompt mode") { IRB.formatter.prompt = :simple }
- opt.on("--noprompt", "No prompt mode") { IRB.formatter.prompt = nil }
+ opt.on("-f", "Ignore ~/.irbrc") { |i| ignore_irbrc = i }
+ opt.on("-r load-lib", "Loads the given library (same as `ruby -r')") { |l| require l }
+ opt.on("-d", "Set $DEBUG to true (same as `ruby -d')") { $DEBUG = true }
+ opt.on("-I path", "Add path to $LOAD_PATH") { |p| $LOAD_PATH.unshift(p) }
+ opt.on("--driver name", "As driver, use one of: tty, readline, or socket") { |d| driver = d }
+ opt.on("--noinspect", "Don't use inspect for output") { IRB.formatter.inspect = false }
+ opt.on("--simple-prompt", "Simple prompt mode") { IRB.formatter.prompt = :simple }
+ opt.on("--noprompt", "No prompt mode") { IRB.formatter.prompt = nil }
opt.on("-v", "--version", "Print the version of #{bin}") do
$stdout.puts IRB::VERSION::DESCRIPTION
exit
@@ -32,13 +34,16 @@
IRB.formatter.filter_from_backtrace << /^#{__FILE__}/
if ARGV.empty?
- require 'irb/driver/readline'
- # require 'irb/driver/tty'
- # require 'irb/driver/socket'
+ driver ||= begin
+ require 'readline'
+ 'readline'
+ rescue LoadError
+ 'tty'
+ end
+ require "irb/driver/#{driver}"
+ irb(self, TOPLEVEL_BINDING.dup)
else
path = ARGV.shift
- require 'irb/driver/file'
- IRB::Driver.current = IRB::Driver::File.new(path)
-end
-
-irb(self, TOPLEVEL_BINDING.dup)
\ No newline at end of file
+ context = IRB::Context.new(self, TOPLEVEL_BINDING.dup)
+ File.open(path, 'r') { |f| f.each_line { |line| context.input_line(line) } }
+end
\ No newline at end of file
Deleted: DietRB/trunk/lib/irb/driver/file.rb
===================================================================
--- DietRB/trunk/lib/irb/driver/file.rb 2010-10-08 11:08:17 UTC (rev 4741)
+++ DietRB/trunk/lib/irb/driver/file.rb 2010-10-08 11:08:26 UTC (rev 4742)
@@ -1,17 +0,0 @@
-require 'irb/driver/tty'
-
-module IRB
- module Driver
- class File
- def initialize(path)
- @path = path
- end
-
- def run(context)
- ::File.open(@path, 'r') do |file|
- file.each_line { |line| context.input_line(line) }
- end
- end
- end
- end
-end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101008/fd5bf635/attachment.html>
More information about the macruby-changes
mailing list