[ruby/irb] Commands should respect USE_COLORIZE config (https://github.com/ruby/irb/pull/362)

https://github.com/ruby/irb/commit/534688dfc4
This commit is contained in:
Stan Lo 2022-06-20 14:27:12 +01:00 committed by git
parent c46824d094
commit 2d4a41df6b
3 changed files with 8 additions and 6 deletions

View File

@ -10,7 +10,7 @@ module IRB
module ExtendCommand
class Ls < Nop
def execute(*arg, grep: nil)
o = Output.new(grep: grep)
o = Output.new(grep: grep, colorable: colorable)
obj = arg.empty? ? irb_context.workspace.main : arg.first
locals = arg.empty? ? irb_context.workspace.binding.local_variables : []
@ -45,7 +45,8 @@ module IRB
class Output
MARGIN = " "
def initialize(grep: nil)
def initialize(grep: nil, colorable: true)
@colorable = colorable
@grep = grep
@line_width = screen_width - MARGIN.length # right padding
end
@ -56,7 +57,7 @@ module IRB
return if strs.empty?
# Attempt a single line
print "#{Color.colorize(name, [:BOLD, :BLUE])}: "
print "#{Color.colorize(name, [:BOLD, :BLUE], colorable: @colorable)}: "
if fits_on_line?(strs, cols: strs.size, offset: "#{name}: ".length)
puts strs.join(MARGIN)
return

View File

@ -29,9 +29,10 @@ module IRB
def initialize(conf)
@irb_context = conf
@colorable = Color.colorable? && conf.use_colorize
end
attr_reader :irb_context
attr_reader :irb_context, :colorable
def irb
@irb_context.irb

View File

@ -30,7 +30,7 @@ module IRB
puts
puts "#{bold("From")}: #{source.file}:#{source.first_line}"
puts
code = IRB::Color.colorize_code(File.read(source.file))
code = IRB::Color.colorize_code(File.read(source.file), colorable: colorable)
puts code.lines[(source.first_line - 1)...source.last_line].join
puts
end
@ -78,7 +78,7 @@ module IRB
end
def bold(str)
Color.colorize(str, [:BOLD])
Color.colorize(str, [:BOLD], colorable: colorable)
end
Source = Struct.new(