#!/usr/bin/ruby.ruby3.4 

require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "racksh", "init.rb"))

# prevent STDOUT & STDERR to be reopened (apps do this to be able to log under Passenger)
def STDOUT.reopen(*args); end
def STDERR.reopen(*args); end

if ARGV.empty?
  begin
    require "pry"
    Interpreter = Pry
  rescue LoadError
    require "irb"
    require "irb/completion"
    Interpreter = IRB
  end

  Rack::Shell.init
  ARGV.concat(['--prompt', 'simple']) unless ARGV.include?('--prompt')
  Interpreter.start
else
  Rack::Shell.init
  p eval(ARGV.join(" "))
end
