Module: Lucid::Term::ANSIColor
- Extended by:
- ANSIColor
- Included in:
- Formatter::ANSIColor, ANSIColor
- Defined in:
- lib/lucid/ansicolor.rb
Constant Summary collapse
- ATTRIBUTES =
[ [:clear , 0], [:reset , 0], # synonym for :clear [:bold , 1], [:dark , 2], [:italic , 3], # not widely implemented [:underline , 4], [:underscore , 4], # synonym for :underline [:blink , 5], [:rapid_blink , 6], # not widely implemented [:negative , 7], # no reverse because of String#reverse [:concealed , 8], [:strikethrough, 9], # not widely implemented [:black , 30], [:red , 31], [:green , 32], [:yellow , 33], [:blue , 34], [:magenta , 35], [:cyan , 36], [:white , 37], [:on_black , 40], [:on_red , 41], [:on_green , 42], [:on_yellow , 43], [:on_blue , 44], [:on_magenta , 45], [:on_cyan , 46], [:on_white , 47], ]
- ATTRIBUTE_NAMES =
ATTRIBUTES.transpose.first
- COLORED_REGEXP =
Regular expression that is used to scan for ANSI-sequences while there are uncolored strings.
/\e\[(?:[34][0-7]|[0-9])?m/
Class Method Summary collapse
-
.attributes ⇒ Object
Returns an array of all Lucid::Term::ANSIColor attributes as symbols.
-
.coloring=(val) ⇒ Object
Example Usage: Lucid::Term::ANSIColor::coloring = STDOUT.isatty.
- .coloring? ⇒ Boolean
- .included(klass) ⇒ Object
Instance Method Summary collapse
-
#uncolored(string = nil) ⇒ Object
Returns an uncolored version of the string.
Class Method Details
.attributes ⇒ Object
Returns an array of all Lucid::Term::ANSIColor attributes as symbols.
96 97 98 |
# File 'lib/lucid/ansicolor.rb', line 96 def attributes ATTRIBUTE_NAMES end |
.coloring=(val) ⇒ Object
43 44 45 |
# File 'lib/lucid/ansicolor.rb', line 43 def self.coloring=(val) @coloring = val end |
.coloring? ⇒ Boolean
37 38 39 |
# File 'lib/lucid/ansicolor.rb', line 37 def self.coloring? @coloring end |
.included(klass) ⇒ Object
72 73 74 75 76 77 |
# File 'lib/lucid/ansicolor.rb', line 72 def self.included(klass) if klass == String ATTRIBUTES.delete(:clear) ATTRIBUTE_NAMES.delete(:clear) end end |
Instance Method Details
#uncolored(string = nil) ⇒ Object
Returns an uncolored version of the string. This means all ANSI-sequences will be stripped from the string.
81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/lucid/ansicolor.rb', line 81 def uncolored(string = nil) if block_given? yield.gsub(COLORED_REGEXP, '') elsif string string.gsub(COLORED_REGEXP, '') elsif respond_to?(:to_str) to_str.gsub(COLORED_REGEXP, '') else '' end end |