bin/fd in fd-0.3.1 vs bin/fd in fd-0.4.0

- old
+ new

@@ -7,36 +7,41 @@ arguments = OpenStruct.new arguments.width = 10 options = OptionParser.new do |opts| - opts.banner = "Usage: #{File.basename __FILE__} [options] file_names" + opts.banner = "Usage: #{File.basename __FILE__} [options] [file_names]" opts.on('-w', '--width=WIDTH [Integer]', Integer, 'Display upto _width_ bytes per row, optional, default is 10') do |width| arguments.width = width end opts.on('-h', '--help', 'Display using this help') do puts opts + puts '', 'When no file names a given fd reads from STDIN.' exit end opts.on('-v', '--version', 'Display version info and quit') do puts "fd version: #{Fd.version}" exit end end begin - ARGV.push('-h') if ARGV.empty? + ARGV.push('-h') if ARGV.empty? && ARGF.eof? options.parse! rescue OptionParser::InvalidArgument puts "fd doesn't work, this way:" options.parse %w[--help] exit 1 end file_dumper = Fd.new(arguments.width) -ARGV.each do |fn| - file_dumper.dump(fn) +if ARGV.size.positive? + ARGV.each do |fn| + file_dumper.dump_file(fn) + end +else + file_dumper.dump_stdin(STDIN.read) end