diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2019-04-26 01:15:30 +0900 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2019-04-26 01:15:30 +0900 |
commit | 5fe99aefd39ce535f658aabd0ca6e2265348d314 (patch) | |
tree | 1a42321f0b58d292fbe92ebee778893120cd625c | |
parent | e64bab5f779440ae920746ae5689a2af91de3604 (diff) |
Support highlighting Regexp in inspect
-rw-r--r-- | lib/irb/color.rb | 6 | ||||
-rw-r--r-- | test/irb/test_color.rb | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/irb/color.rb b/lib/irb/color.rb index 40e84e1f87..c18739c280 100644 --- a/lib/irb/color.rb +++ b/lib/irb/color.rb @@ -28,8 +28,8 @@ module IRB # :nodoc: on_kw: [[GREEN], [Ripper::EXPR_CLASS, Ripper::EXPR_BEG, Ripper::EXPR_END, Ripper::EXPR_FNAME]], on_label: [[MAGENTA], [Ripper::EXPR_LABELED]], on_qwords_beg: [[RED], [Ripper::EXPR_BEG]], - on_regexp_beg: [[RED], [Ripper::EXPR_BEG]], - on_regexp_end: [[RED], [Ripper::EXPR_BEG]], + on_regexp_beg: [[RED, BOLD], [Ripper::EXPR_BEG]], + on_regexp_end: [[RED, BOLD], [Ripper::EXPR_BEG]], on_symbeg: [[BLUE, BOLD], [Ripper::EXPR_FNAME]], on_tstring_beg: [[RED], [Ripper::EXPR_BEG, Ripper::EXPR_END, Ripper::EXPR_ARG, Ripper::EXPR_CMDARG]], on_tstring_content: [[RED], [Ripper::EXPR_BEG, Ripper::EXPR_ARG, Ripper::EXPR_CMDARG]], @@ -47,7 +47,7 @@ module IRB # :nodoc: obj.all? { |k, v| inspect_colorable?(k) && inspect_colorable?(v) } when Array obj.all? { |o| inspect_colorable?(o) } - when String, Symbol, Integer, Float, FalseClass, TrueClass, NilClass + when String, Symbol, Regexp, Integer, Float, FalseClass, TrueClass, NilClass true else false diff --git a/test/irb/test_color.rb b/test/irb/test_color.rb index d5f9286e36..601b7a2d34 100644 --- a/test/irb/test_color.rb +++ b/test/irb/test_color.rb @@ -23,6 +23,7 @@ module TestIRB "def self.foo; bar; end" => "#{GREEN}def#{CLEAR} #{CYAN}#{BOLD}self#{CLEAR}.#{BLUE}#{BOLD}foo#{CLEAR}; bar; #{GREEN}end#{CLEAR}", 'ERB.new("a#{nil}b", trim_mode: "-")' => "#{BLUE}#{BOLD}#{UNDERLINE}ERB#{CLEAR}.new(#{RED}\"#{CLEAR}#{RED}a#{CLEAR}#{RED}\#{#{CLEAR}#{CYAN}#{BOLD}nil#{CLEAR}#{RED}}#{CLEAR}#{RED}b#{CLEAR}#{RED}\"#{CLEAR}, #{MAGENTA}trim_mode:#{CLEAR} #{RED}\"#{CLEAR}#{RED}-#{CLEAR}#{RED}\"#{CLEAR})", "# comment" => "#{BLUE}#{BOLD}# comment#{CLEAR}", + '/r#{e}g/' => "#{RED}#{BOLD}/#{CLEAR}#{RED}r#{CLEAR}#{RED}\#{#{CLEAR}e}#{RED}g#{CLEAR}#{RED}#{BOLD}/#{CLEAR}", }.each do |code, result| assert_equal(result, with_term { IRB::Color.colorize_code(code) }) end @@ -34,6 +35,7 @@ module TestIRB 2.3 => true, ['foo', :bar] => true, { a: 4 } => true, + /reg/ => true, Object.new => false, Struct.new(:a) => false, Struct.new(:a).new(1) => false, |