1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00
pry--pry/lib/pry/default_commands/basic.rb

54 lines
1.6 KiB
Ruby

class Pry
module DefaultCommands
Basic = Pry::CommandSet.new do
command "toggle-color", "Toggle syntax highlighting." do
Pry.color = !Pry.color
output.puts "Syntax highlighting #{Pry.color ? "on" : "off"}"
end
command "simple-prompt", "Toggle the simple prompt." do
case Pry.active_instance.prompt
when Pry::SIMPLE_PROMPT
Pry.active_instance.pop_prompt
else
Pry.active_instance.push_prompt Pry::SIMPLE_PROMPT
end
end
command "pry-version", "Show Pry version." do
output.puts "Pry version: #{Pry::VERSION} on Ruby #{RUBY_VERSION}."
end
command "import-set", "Import a command set" do |command_set_name|
next output.puts "Provide a command set name" if command_set.nil?
set = target.eval(arg_string)
Pry.active_instance.commands.import set
end
command "reload-method", "Reload the source file that contains the specified method" do |meth_name|
if (meth = get_method_object(meth_name, target, {})).nil?
output.puts "Invalid method name: #{meth_name}."
next
end
if is_a_c_method?(meth)
output.puts "Error: Can't reload a C method."
elsif is_a_dynamically_defined_method?(meth)
output.puts "Error: Can't reload an eval method."
else
file_name = meth.source_location.first
load file_name
output.puts "Reloaded #{file_name}."
end
end
command "reset", "Reset the REPL to a clean state." do
output.puts "Pry reset."
exec "pry"
end
end
end
end