Class: Prettys::Colorizer
Instance Method Summary collapse
- #colorize(options = {}) ⇒ Object
- #end_of_escape_sequence ⇒ Object
- #escape_sequence(options) ⇒ Object
- #escaped_string(options) ⇒ Object
Instance Method Details
#colorize(options = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/colorizer.rb', line 41 def colorize( = {}) = () unless [:background, :foreground].include?([:type]) raise(ArgumentError, "Type must be a :background or :foreground") end marked_strings = Matcher.marked_strings([:string], [:pattern]) marked_strings.map do |ms| if ms[:marked] escaped_string({ string: ms[:string], pattern: [:pattern], type: [:type], bold: [:bold], color: [:color] }) else ms[:string] end end.join end |
#end_of_escape_sequence ⇒ Object
33 34 35 |
# File 'lib/colorizer.rb', line 33 def end_of_escape_sequence "\e[0m" end |
#escape_sequence(options) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/colorizer.rb', line 26 def escape_sequence() = () color_code = COLORS[[:color]] color_code += 10 if [:type] == :background "\e[#{color_code.to_s};#{([:bold] ? 1 : 2).to_s}m" end |
#escaped_string(options) ⇒ Object
37 38 39 |
# File 'lib/colorizer.rb', line 37 def escaped_string() escape_sequence() + [:string] + end_of_escape_sequence end |