[前][次][番号順一覧][スレッド一覧]

ruby-changes:40132

From: nobu <ko1@a...>
Date: Thu, 22 Oct 2015 15:25:42 +0900 (JST)
Subject: [ruby-changes:40132] nobu:r52213 (trunk): generic_erb.rb: highlight

nobu	2015-10-22 15:25:33 +0900 (Thu, 22 Oct 2015)

  New Revision: 52213

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=52213

  Log:
    generic_erb.rb: highlight
    
    * tool/generic_erb.rb: highlight result messages too.

  Modified files:
    trunk/tool/generic_erb.rb
Index: tool/generic_erb.rb
===================================================================
--- tool/generic_erb.rb	(revision 52212)
+++ tool/generic_erb.rb	(revision 52213)
@@ -10,25 +10,38 @@ timestamp = nil https://github.com/ruby/ruby/blob/trunk/tool/generic_erb.rb#L10
 output = nil
 ifchange = nil
 source = false
+color = nil
 
 opt = OptionParser.new do |o|
   o.on('-t', '--timestamp[=PATH]') {|v| timestamp = v || true}
   o.on('-o', '--output=PATH') {|v| output = v}
   o.on('-c', '--[no-]if-change') {|v| ifchange = v}
   o.on('-x', '--source') {source = true}
+  o.on('--color') {color = true}
   vpath.def_options(o)
   o.order!(ARGV)
 end
+unchanged = "unchanged"
+updated = "updated"
+if color or (color == nil && STDOUT.tty?)
+  if /\A(\e\[).*m\z/ =~ IO.popen("tput smso", "r", &:read)
+    beg = $1
+    colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {}
+    reset = "#{beg}m"
+    unchanged = "#{beg}#{colors["pass"] || "32;1"}m#{unchanged}#{reset}"
+    updated = "#{beg}#{colors["fail"] || "31;1"}m#{updated}#{reset}"
+  end
+end
 template = ARGV.shift or abort opt.to_s
 erb = ERB.new(File.read(template), nil, '%-')
 erb.filename = template
 result = source ? erb.src : erb.result
 if output
   if ifchange and (vpath.open(output, "rb") {|f| f.read} rescue nil) == result
-    puts "#{output} unchanged"
+    puts "#{output} #{unchanged}"
   else
     open(output, "wb") {|f| f.print result}
-    puts "#{output} updated"
+    puts "#{output} #{updated}"
   end
   if timestamp
     if timestamp == true

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]