class Byebug::LocalInterface
Interface class for standard byebug use.
Constants
- EOF_ALIAS
Public Class Methods
new()
click to toggle source
Calls superclass method
Byebug::Interface.new
# File lib/byebug/interfaces/local_interface.rb, line 9 def initialize super() @input = $stdin @output = $stdout @error = $stderr end
Public Instance Methods
readline(prompt)
click to toggle source
Reads a single line of input using Readline. If Ctrl-D is pressed, it returns “continue”, meaning that program's execution will go on.
@param prompt Prompt to be displayed.
# File lib/byebug/interfaces/local_interface.rb, line 22 def readline(prompt) with_repl_like_sigint { Readline.readline(prompt) || EOF_ALIAS } end
with_repl_like_sigint() { || ... }
click to toggle source
Yields the block handling Ctrl-C the following way: if pressed while waiting for input, the line is reset to only the prompt and we ask for input again.
@note Any external 'INT' traps are overriden during this method.
# File lib/byebug/interfaces/local_interface.rb, line 33 def with_repl_like_sigint orig_handler = trap("INT") { raise Interrupt } yield rescue Interrupt puts("^C") retry ensure trap("INT", orig_handler) end