Module: Kitchen::Color
- Defined in:
- lib/kitchen/color.rb
Overview
Utility methods to help ouput colorized text in a terminal. The implementation is a compressed mashup of code from the Thor and Foreman projects.
Constant Summary collapse
- ANSI =
{ :reset => 0, :black => 30, :red => 31, :green => 32, :yellow => 33, :blue => 34, :magenta => 35, :cyan => 36, :white => 37, :bright_black => 90, :bright_red => 91, :bright_green => 92, :bright_yellow => 93, :bright_blue => 94, :bright_magenta => 95, :bright_cyan => 96, :bright_white => 97 }.freeze
- COLORS =
%w( cyan yellow green magenta blue bright_cyan bright_yellow bright_green bright_magenta bright_blue ).freeze
Class Method Summary collapse
-
.colorize(str, name) ⇒ String
Returns a colorized ansi escaped string with the given color.
-
.escape(name) ⇒ String
Returns an ansi escaped string representing a color control sequence.
Class Method Details
.colorize(str, name) ⇒ String
Returns a colorized ansi escaped string with the given color.
60 61 62 63 |
# File 'lib/kitchen/color.rb', line 60 def self.colorize(str, name) color = escape(name) color.empty? ? str : "#{color}#{str}#{escape(:reset)}" end |
.escape(name) ⇒ String
Returns an ansi escaped string representing a color control sequence.
47 48 49 50 51 |
# File 'lib/kitchen/color.rb', line 47 def self.escape(name) return "" if name.nil? return "" unless ansi = ANSI[name] "\e[#{ansi}m" end |