class Byebug::Command
Parent class of all byebug commands.
Subclass it and name the subclass ending with the word Command
to implement your own custom command.
@example Define a custom command
class MyCustomCommand < Command
def self.regexp /custom_regexp/ end def self.description "Custom long desc" end def.short_description "Custom short desc" end def execute # My command's implementation end
end
Attributes
allow_in_control[RW]
Special methods to allow command filtering in processors
allow_in_post_mortem[RW]
Special methods to allow command filtering in processors
always_run[W]
processor[R]
Public Class Methods
always_run()
click to toggle source
# File lib/byebug/command.rb, line 73 def always_run @always_run ||= 0 end
columnize(width)
click to toggle source
# File lib/byebug/command.rb, line 88 def columnize(width) format( " %-<name>#{width}s -- %<description>s\n", name: to_s, description: short_description ) end
help()
click to toggle source
Default help text for a command.
# File lib/byebug/command.rb, line 99 def help prettify(description) end
match(input)
click to toggle source
Command's regexp match against an input
# File lib/byebug/command.rb, line 106 def match(input) regexp.match(input) end
new(processor, input = self.class.to_s)
click to toggle source
# File lib/byebug/command.rb, line 38 def initialize(processor, input = self.class.to_s) @processor = processor @match = match(input) end
to_s()
click to toggle source
Name of the command, as executed by the user.
# File lib/byebug/command.rb, line 80 def to_s name .split("::") .map { |n| n.gsub(/Command$/, "").downcase if n =~ /Command$/ } .compact .join(" ") end
Public Instance Methods
arguments()
click to toggle source
# File lib/byebug/command.rb, line 51 def arguments @match[0].split(" ").drop(1).join(" ") end
context()
click to toggle source
# File lib/byebug/command.rb, line 43 def context @context ||= processor.context end
frame()
click to toggle source
# File lib/byebug/command.rb, line 47 def frame @frame ||= context.frame end