pry--pry/lib/pry/commands/exit_all.rb

21 lines
529 B
Ruby
Raw Normal View History

class Pry
Pry::Commands.create_command "exit-all" do
group 'Navigating Pry'
description "End the current Pry session (popping all bindings) and " \
"returning to caller. Accepts optional return value. Aliases: !!@"
def process
# calculate user-given value
exit_value = target.eval(arg_string)
# clear the binding stack
_pry_.binding_stack.clear
# break out of the repl loop
throw(:breakout, exit_value)
end
end
Pry::Commands.alias_command "!!@", "exit-all"
end