class DEBUGGER__::Session

def wait_command

def wait_command
  if @preset_command
    if @preset_command.commands.empty?
      if @preset_command.auto_continue
        @preset_command = nil
        leave_subsession :continue
        return
      else
        @preset_command = nil
        return :retry
      end
    else
      line = @preset_command.commands.shift
      @ui.puts "(rdbg:#{@preset_command.source}) #{line}"
    end
  else
    @ui.puts "INTERNAL_INFO: #{JSON.generate(@internal_info)}" if ENV['RUBY_DEBUG_TEST_UI'] == 'terminal'
    line = @ui.readline prompt
  end
  case line
  when String
    process_command line
  when Hash
    process_protocol_request line # defined in server.rb
  else
    raise "unexpected input: #{line.inspect}"
  end
end