Module: Kitchen::Color
- Defined in:
- lib/kitchen/color.rb
Overview
Utility methods to help output colorized text in a terminal. The implementation is a compressed mashup of code from the Thor and Foreman projects.
Constant Summary collapse
- ANSI =
Maps color names to their ANSI SGR parameter codes.
{ 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 =
The subset of ANSI color names cycled through when assigning a distinct color to each instance.
%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.
65 66 67 68 |
# File 'lib/kitchen/color.rb', line 65 def self.colorize(str, name) color = escape(name) color.empty? ? str : "#{color}#{str}#{escape(:reset)}" end |