From 98a346d065cc981d60ec0e45f7f15ba7328b6ad6 Mon Sep 17 00:00:00 2001 From: aycabta Date: Mon, 27 Apr 2020 18:27:19 +0900 Subject: [ruby/irb] Add irb_info command https://github.com/ruby/irb/commit/a6fe58e916 --- lib/irb/input-method.rb | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'lib/irb/input-method.rb') diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb index 9fbbaeb0f3..47fc5db84f 100644 --- a/lib/irb/input-method.rb +++ b/lib/irb/input-method.rb @@ -43,6 +43,11 @@ module IRB def readable_after_eof? false end + + # For debug message + def inspect + 'Abstract InputMethod' + end end class StdioInputMethod < InputMethod @@ -93,6 +98,11 @@ module IRB def encoding @stdin.external_encoding end + + # For debug message + def inspect + 'StdioInputMethod' + end end # Use a File for IO with irb, see InputMethod @@ -125,6 +135,11 @@ module IRB def encoding @io.external_encoding end + + # For debug message + def inspect + 'FileInputMethod' + end end begin @@ -202,6 +217,13 @@ module IRB end Readline.completion_append_character = nil Readline.completion_proc = IRB::InputCompletor::CompletionProc + + # For debug message + def inspect + inputrc_path = File.expand_path(ENV['INPUTRC'] || '~/.inputrc') + readline_impl = (defined?(Reline) && Readline == Reline) ? 'Reline' : 'ext/readline' + "ReadlineInputMethod with #{readline_impl} #{Readline::VERSION} and #{inputrc_path}" + end end rescue LoadError end @@ -297,5 +319,16 @@ module IRB def encoding @stdin.external_encoding end + + # For debug message + def inspect + config = Reline::Config.new + if config.respond_to?(:inputrc_path) + inputrc_path = config.inputrc_path + else + inputrc_path = File.expand_path(ENV['INPUTRC'] || '~/.inputrc') + end + "ReidlineInputMethod with Reline #{Reline::VERSION} and #{inputrc_path}" + end end end -- cgit v1.2.3