class Johnson::CLI::Options

:nodoc:
:nodoc:
:nodoc:

def initialize(*args)

def initialize(*args)
  @arguments = []
  @expressions = []
  @load_paths = []
  @files_to_preload = []
  @paths_to_require = []
  argv = args.flatten
  
  if index = argv.index("--")
    @arguments = argv[(index+1)..-1]
    argv = argv[0..index]
  end
  parser = OptionParser.new do |parser|
    parser.banner = "Usage: johnson [options] [file.js...] [-- jsargs...]"
    parser.version = Johnson::VERSION
    parser.on("-e [EXPRESSION]", "Evaluate [EXPRESSION] and exit") do |expression|
      @expressions << expression
    end

    parser.on("-I [DIRECTORY]", "Specify $LOAD_PATH directories") do |dir|
      @load_paths << dir
    end
    parser.on("-i [FILE]", "Evaluate [FILE] before interaction") do |file|
      @files_to_preload << file
    end
    
    parser.on("-r [PATH]", "Require [PATH] before executing") do |path|
      @paths_to_require << path
    end

    parser.on("-h", "-?", "--help", "Show this message") do
      puts parser
      exit
    end

    parser.on("-v", "--version", "Show Johnson's version (#{Johnson::VERSION})") do
      puts Johnson::VERSION
      exit
    end  
  end
  
  parser.parse!(argv)
  @files_to_evaluate = argv.dup
end