class Byebug::ContinueCommand
Implements the continue command.
Allows the user to continue execution until the next stopping point, a specific line number or until program termination.
Public Class Methods
description()
click to toggle source
# File lib/byebug/commands/continue.rb, line 19 def self.description <<-DESCRIPTION c[ont[inue]][ <line_number>] #{short_description} Normally the program stops at the next breakpoint. However, if the parameter "unconditionally" is given or the command is suffixed with "!", the program will run until the end regardless of any enabled breakpoints. DESCRIPTION end
regexp()
click to toggle source
# File lib/byebug/commands/continue.rb, line 15 def self.regexp /^\s* c(?:ont(?:inue)?)? (?:(!|\s+unconditionally|\s+\S+))? \s*$/x end
short_description()
click to toggle source
# File lib/byebug/commands/continue.rb, line 32 def self.short_description "Runs until program ends, hits a breakpoint or reaches a line" end
Public Instance Methods
execute()
click to toggle source
# File lib/byebug/commands/continue.rb, line 36 def execute if until_line? num, err = get_int(modifier, "Continue", 0, nil) return errmsg(err) unless num filename = File.expand_path(frame.file) return errmsg(pr("continue.errors.unstopped_line", line: num)) unless Breakpoint.potential_line?(filename, num) Breakpoint.add(filename, num) end processor.proceed! Byebug.mode = :off if unconditionally? Byebug.stop if unconditionally? || Byebug.stoppable? end
Private Instance Methods
modifier()
click to toggle source
# File lib/byebug/commands/continue.rb, line 63 def modifier @match[1].lstrip end
unconditionally?()
click to toggle source
# File lib/byebug/commands/continue.rb, line 59 def unconditionally? @match[1] && ["!", "unconditionally"].include?(modifier) end
until_line?()
click to toggle source
# File lib/byebug/commands/continue.rb, line 55 def until_line? @match[1] && !["!", "unconditionally"].include?(modifier) end