1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# frozen_string_literal: true
require_relative "../history"
module Byebug
#
# Interface class for remote use of byebug.
#
class RemoteInterface < Interface
def initialize(socket)
super()
@input = socket
@output = socket
@error = socket
end
def read_command(prompt)
super("PROMPT #{prompt}")
rescue Errno::EPIPE, Errno::ECONNABORTED
"continue"
end
def confirm(prompt)
super("CONFIRM #{prompt}")
rescue Errno::EPIPE, Errno::ECONNABORTED
false
end
def print(message)
super(message)
rescue Errno::EPIPE, Errno::ECONNABORTED
nil
end
def puts(message)
super(message)
rescue Errno::EPIPE, Errno::ECONNABORTED
nil
end
def close
output.close
end
def readline(prompt)
puts(prompt)
(input.gets || "continue").chomp
end
end
end
|