From 2e7fe3b687b8bad1452b7643c0063b89c91c930a Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 11 Aug 2020 16:17:51 +0900 Subject: [PATCH] Add default color for each instance --- tool/lib/colorize.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tool/lib/colorize.rb b/tool/lib/colorize.rb index 7494a2198a..6699aef572 100644 --- a/tool/lib/colorize.rb +++ b/tool/lib/colorize.rb @@ -1,8 +1,12 @@ # frozen-string-literal: true class Colorize + # call-seq: + # Colorize.new(colorize = nil) + # Colorize.new(color: color, colors_file: colors_file) def initialize(color = nil, opts = ((_, color = color, nil)[0] if Hash === color)) @colors = @reset = nil + @color = (opts[:color] if opts) if color or (color == nil && STDOUT.tty?) if (/\A\e\[.*m\z/ =~ IO.popen("tput smso", "r", :err => IO::NULL, &:read) rescue nil) @beg = "\e[" @@ -29,7 +33,8 @@ class Colorize "bold"=>"1", "underline"=>"4", "reverse"=>"7", } - def decorate(str, name) + # colorize.decorate(str, name = color_name) + def decorate(str, name = @color) if @colors and color = (@colors[name] || DEFAULTS[name]) "#{@beg}#{color}m#{str}#{@reset}" else @@ -45,7 +50,6 @@ class Colorize end if $0 == __FILE__ - colorize = Colorize.new - col = ARGV.shift - ARGV.each {|str| puts colorize.decorate(str, col)} + colorize = Colorize.new(ARGV.shift) + ARGV.each {|str| puts colorize.decorate(str)} end