From e8ddbc0239b9dfa32787e93c6942f085e5c42b49 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Mon, 15 Jul 2019 08:54:34 +0900 Subject: Put colorize to library directory. Same as 66299e7ca83d379d13abaa5411f3e0419334cabb --- tool/colorize.rb | 50 -------------------------------------------------- tool/extlibs.rb | 2 +- tool/generic_erb.rb | 2 +- tool/leaked-globals | 2 +- tool/lib/colorize.rb | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ tool/lib/test/unit.rb | 2 +- tool/make-snapshot | 2 +- tool/pure_parser.rb | 2 +- 8 files changed, 56 insertions(+), 56 deletions(-) delete mode 100644 tool/colorize.rb create mode 100644 tool/lib/colorize.rb (limited to 'tool') diff --git a/tool/colorize.rb b/tool/colorize.rb deleted file mode 100644 index 855e1331ad..0000000000 --- a/tool/colorize.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen-string-literal: true - -class Colorize - def initialize(color = nil, opts = ((_, color = color, nil)[0] if Hash === color)) - @colors = @reset = nil - 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[" - colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {} - if opts and colors_file = opts[:colors_file] - begin - File.read(colors_file).scan(/(\w+)=([^:\n]*)/) do |n, c| - colors[n] ||= c - end - rescue Errno::ENOENT - end - end - @colors = colors - @reset = "#{@beg}m" - end - end - self - end - - DEFAULTS = { - "pass"=>"32", "fail"=>"31;1", "skip"=>"33;1", - "black"=>"30", "red"=>"31", "green"=>"32", "yellow"=>"33", - "blue"=>"34", "magenta"=>"35", "cyan"=>"36", "white"=>"37", - } - - def decorate(str, name) - if @colors and color = (@colors[name] || DEFAULTS[name]) - "#{@beg}#{color}m#{str}#{@reset}" - else - str - end - end - - DEFAULTS.each_key do |name| - define_method(name) {|str| - decorate(str, name) - } - end -end - -if $0 == __FILE__ - colorize = Colorize.new - col = ARGV.shift - ARGV.each {|str| puts colorize.decorate(str, col)} -end diff --git a/tool/extlibs.rb b/tool/extlibs.rb index efae167bfa..f021a2bf01 100755 --- a/tool/extlibs.rb +++ b/tool/extlibs.rb @@ -5,7 +5,7 @@ require 'digest' require_relative 'downloader' -require_relative 'colorize' +require_relative 'lib/colorize' class ExtLibs def initialize diff --git a/tool/generic_erb.rb b/tool/generic_erb.rb index 3904b570c4..3184cbb9f8 100644 --- a/tool/generic_erb.rb +++ b/tool/generic_erb.rb @@ -7,7 +7,7 @@ require 'erb' require 'optparse' $:.unshift(File.dirname(__FILE__)) require 'vpath' -require 'colorize' +require_relative 'lib/colorize' vpath = VPath.new timestamp = nil diff --git a/tool/leaked-globals b/tool/leaked-globals index 48e8ec74c7..de17038704 100755 --- a/tool/leaked-globals +++ b/tool/leaked-globals @@ -1,5 +1,5 @@ #!/usr/bin/ruby -require_relative 'colorize' +require_relative 'lib/colorize' until ARGV.empty? case ARGV[0] diff --git a/tool/lib/colorize.rb b/tool/lib/colorize.rb new file mode 100644 index 0000000000..855e1331ad --- /dev/null +++ b/tool/lib/colorize.rb @@ -0,0 +1,50 @@ +# frozen-string-literal: true + +class Colorize + def initialize(color = nil, opts = ((_, color = color, nil)[0] if Hash === color)) + @colors = @reset = nil + 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[" + colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {} + if opts and colors_file = opts[:colors_file] + begin + File.read(colors_file).scan(/(\w+)=([^:\n]*)/) do |n, c| + colors[n] ||= c + end + rescue Errno::ENOENT + end + end + @colors = colors + @reset = "#{@beg}m" + end + end + self + end + + DEFAULTS = { + "pass"=>"32", "fail"=>"31;1", "skip"=>"33;1", + "black"=>"30", "red"=>"31", "green"=>"32", "yellow"=>"33", + "blue"=>"34", "magenta"=>"35", "cyan"=>"36", "white"=>"37", + } + + def decorate(str, name) + if @colors and color = (@colors[name] || DEFAULTS[name]) + "#{@beg}#{color}m#{str}#{@reset}" + else + str + end + end + + DEFAULTS.each_key do |name| + define_method(name) {|str| + decorate(str, name) + } + end +end + +if $0 == __FILE__ + colorize = Colorize.new + col = ARGV.shift + ARGV.each {|str| puts colorize.decorate(str, col)} +end diff --git a/tool/lib/test/unit.rb b/tool/lib/test/unit.rb index 5a980603a5..d237a9a0e9 100644 --- a/tool/lib/test/unit.rb +++ b/tool/lib/test/unit.rb @@ -6,7 +6,7 @@ end require 'minitest/unit' require 'test/unit/assertions' require_relative '../envutil' -require_relative '../../../tool/colorize' +require_relative '../colorize' require 'test/unit/testcase' require 'optparse' diff --git a/tool/make-snapshot b/tool/make-snapshot index d6530b3842..ad5fd879f3 100755 --- a/tool/make-snapshot +++ b/tool/make-snapshot @@ -8,7 +8,7 @@ require 'shellwords' require 'tmpdir' require 'pathname' require File.expand_path("../lib/vcs", __FILE__) -require File.expand_path("../colorize", __FILE__) +require File.expand_path("../lib/colorize", __FILE__) STDOUT.sync = true $srcdir ||= nil diff --git a/tool/pure_parser.rb b/tool/pure_parser.rb index 20d71079a0..4d5e86e543 100755 --- a/tool/pure_parser.rb +++ b/tool/pure_parser.rb @@ -1,6 +1,6 @@ #!/usr/bin/ruby -pi BEGIN { - require_relative 'colorize' + require_relative 'lib/colorize' colorize = Colorize.new file = ARGV.shift -- cgit v1.2.3