Sha256: e43784293eac7428b2440e17e0b9fa51ef4f4b42343745c5ec8fd9eb9c53fcb6
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
require 'byebug/states/control_state' module Byebug # # Processes commands in 'control' mode, when there's no program running # class ControlCommandProcessor < Processor attr_reader :state def initialize(interface = LocalInterface.new) super(interface) end def commands Byebug.commands.select(&:allow_in_control).map { |cmd| cmd.new(state) } end def process_commands @state = ControlState.new(interface) while (input = @interface.read_command(prompt(nil))) cmd = commands.find { |c| c.match(input) } unless cmd errmsg('Unknown command') next end cmd.execute end @interface.close rescue IOError, SystemCallError @interface.close rescue without_exceptions do puts "INTERNAL ERROR!!! #{$ERROR_INFO}" puts $ERROR_INFO.backtrace.map { |l| "\t#{l}" }.join("\n") end end # # Prompt shown before reading a command. # def prompt(_context) '(byebug:ctrl) ' end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
sc_core-0.0.7 | test/dummy/vendor/bundle/ruby/2.2.0/gems/byebug-5.0.0/lib/byebug/processors/control_command_processor.rb |
byebug-5.0.0 | lib/byebug/processors/control_command_processor.rb |