def r(target=TOPLEVEL_BINDING, eval_string="")
target = Pry.binding_for(target)
@suppress_output = false
val = ""
loop do
begin
retrieve_line(eval_string, target)
rescue CommandError, Slop::InvalidOptionError => e
output.puts "Error: #{e.message}"
end
begin
break if complete_expression?(eval_string)
rescue SyntaxError => e
output.puts "SyntaxError: #{e.message.sub(/.*syntax error, */m, '')}"
eval_string = ""
end
end
@suppress_output = true if eval_string =~ /;\Z/ || eval_string.empty?
exec_hook :after_read, eval_string, self
eval_string
end