def self.start(target=toplevel_binding, options={})
target = Pry.binding_for(target)
initial_session_setup
pry_instance = new(options)
pry_instance.backtrace = caller
pry_instance.backtrace.shift if pry_instance.backtrace.first =~ /pry.*core_extensions.*pry/
pry_instance.exec_hook(:when_started, target, options, pry_instance)
if !pry_instance.binding_stack.empty?
head = pry_instance.binding_stack.pop
else
head = target
end
if Pry.config.auto_indent
Kernel.print Pry::Helpers::BaseHelpers.windows_ansi? ? "\e[0F" : "\e[0G"
end
pry_instance.repl(head)
end