# File lib/pry/pry_instance.rb, line 65
  def initialize(options={})
    @binding_stack = []
    @indent        = Pry::Indent.new
    @command_state = {}
    @eval_string   = ""
    @backtrace     = options.delete(:backtrace) || caller
    target = options.delete(:target)
    @config = Pry::Config.new
    config.merge!(options)
    push_prompt(config.prompt)
    @input_array  = Pry::HistoryArray.new config.memory_size
    @output_array = Pry::HistoryArray.new config.memory_size
    @custom_completions = config.command_completions
    set_last_result nil
    @input_array << nil
    push_initial_binding(target)
    exec_hook(:when_started, target, options, self)
  end