Module: L43::SimpleColor

Extended by:
SimpleColor
Includes:
ColorData
Included in:
SimpleColor
Defined in:
lib/l43/simple_color.rb,
lib/l43/simple_color/cli.rb,
lib/l43/simple_color/version.rb,
lib/l43/simple_color/colorize.rb,
lib/l43/simple_color/color_data.rb

Defined Under Namespace

Modules: Cli, ColorData, Colorize

Constant Summary collapse

VERSION =
'0.2.0'
BadColor =
Class.new(RuntimeError)

Constants included from ColorData

ColorData::ANSI_CODE_SPLITTING_STRING, ColorData::Bold, ColorData::CSI, ColorData::Colors, ColorData::Dim, ColorData::ExtendedColors, ColorData::RGB_COLORS, ColorData::Reset, ColorData::Underline

Instance Method Summary collapse

Methods included from ColorData

#get_chunk, #get_chunk!, #get_chunks, #use_color?

Instance Method Details

#color(*chunks, reset: true, extended: false) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/l43/simple_color.rb', line 14

def color(*chunks, reset: true, extended: false)
  reset = reset ? :reset : ""
  [*chunks.flatten, reset].map do |chunk|
    result = format_chunk(chunk, extended:)
    case result
    in [:error, _message] => error
      return error
    in encoded
      encoded
    end
  end.join
end

#color!(*chunks, reset: true, extended: false) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/l43/simple_color.rb', line 27

def color!(*chunks, reset: true, extended: false)
  case color(*chunks, reset:, extended:)
  in :error, msg
    raise BadColor, msg
  in colored
    colored
  end
end

#putcol(*chunks, reset: true, device: $stderr, extended: false) ⇒ Object



36
# File 'lib/l43/simple_color.rb', line 36

def putcol(*chunks, reset: true, device: $stderr, extended: false) = device.puts color!(chunks, reset:, extended:)

#xcolor(*chunks, reset: true) ⇒ Object



11
# File 'lib/l43/simple_color.rb', line 11

def xcolor(*chunks, reset: true) = color(*chunks, extended: true, reset:)

#xcolor!(*chunks, reset: true) ⇒ Object



12
# File 'lib/l43/simple_color.rb', line 12

def xcolor!(*chunks, reset: true) = color!(*chunks, extended: true, reset:)

#xputcol(*chunks, reset: true, device: $stderr) ⇒ Object



37
# File 'lib/l43/simple_color.rb', line 37

def xputcol(*chunks, reset: true, device: $stderr) = device.puts color!(chunks, reset:, extended: true)