diff --git a/lib/irb/context.rb b/lib/irb/context.rb index d2d0bed52..964732703 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -479,9 +479,7 @@ def verbose? # StdioInputMethod or RelineInputMethod or ReadlineInputMethod, see #io # for more information. def prompting? - verbose? || (STDIN.tty? && @io.kind_of?(StdioInputMethod) || - @io.kind_of?(RelineInputMethod) || - (defined?(ReadlineInputMethod) && @io.kind_of?(ReadlineInputMethod))) + verbose? || @io.prompting? end # The return value of the last statement evaluated. diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb index a483ec671..c19983092 100644 --- a/lib/irb/input-method.rb +++ b/lib/irb/input-method.rb @@ -44,6 +44,10 @@ def support_history_saving? false end + def prompting? + false + end + # For debug message def inspect 'Abstract InputMethod' @@ -91,6 +95,10 @@ def readable_after_eof? true end + def prompting? + STDIN.tty? + end + # Returns the current line number for #io. # # #line counts the number of times #gets is called. @@ -220,6 +228,10 @@ def eof? @eof end + def prompting? + true + end + # For debug message def inspect readline_impl = (defined?(Reline) && Readline == Reline) ? 'Reline' : 'ext/readline' @@ -467,6 +479,10 @@ def eof? @eof end + def prompting? + true + end + # For debug message def inspect config = Reline::Config.new