Parent

Class/Module Index [+]

Quicksearch

Rouge::Formatters::Terminal256::EscapeSequence

Attributes

style[R]

Public Class Methods

new(style) click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 29
def initialize(style)
  @style = style
end
xterm_colors() click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 33
def self.xterm_colors
  @xterm_colors ||= [].tap do |out|
    # colors 0..15: 16 basic colors
    out << [0x00, 0x00, 0x00] # 0
    out << [0xcd, 0x00, 0x00] # 1
    out << [0x00, 0xcd, 0x00] # 2
    out << [0xcd, 0xcd, 0x00] # 3
    out << [0x00, 0x00, 0xee] # 4
    out << [0xcd, 0x00, 0xcd] # 5
    out << [0x00, 0xcd, 0xcd] # 6
    out << [0xe5, 0xe5, 0xe5] # 7
    out << [0x7f, 0x7f, 0x7f] # 8
    out << [0xff, 0x00, 0x00] # 9
    out << [0x00, 0xff, 0x00] # 10
    out << [0xff, 0xff, 0x00] # 11
    out << [0x5c, 0x5c, 0xff] # 12
    out << [0xff, 0x00, 0xff] # 13
    out << [0x00, 0xff, 0xff] # 14
    out << [0xff, 0xff, 0xff] # 15

    # colors 16..232: the 6x6x6 color cube
    valuerange = [0x00, 0x5f, 0x87, 0xaf, 0xd7, 0xff]

    217.times do |i|
      r = valuerange[(i / 36) % 6]
      g = valuerange[(i / 6) % 6]
      b = valuerange[i % 6]
      out << [r, g, b]
    end

    # colors 233..253: grayscale
    1.upto 22 do |i|
      v = 8 + i * 10
      out << [v, v, v]
    end
  end
end

Public Instance Methods

bg() click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 76
def bg
  return @bg if instance_variable_defined? :@bg
  @bg = style.bg && self.class.color_index(style.bg)
end
fg() click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 71
def fg
  return @fg if instance_variable_defined? :@fg
  @fg = style.fg && self.class.color_index(style.fg)
end
reset_string() click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 93
def reset_string
  @reset_string ||= begin
    attrs = []
    attrs << '39' if fg # fg reset
    attrs << '49' if bg # bg reset
    attrs << '00' if style[:bold] || style[:italic]

    escape(attrs)
  end
end
style_string() click to toggle source
# File lib/rouge/formatters/terminal256.rb, line 81
def style_string
  @style_string ||= begin
    attrs = []

    attrs << ['38', '5', fg.to_s] if fg
    attrs << ['48', '5', bg.to_s] if bg
    attrs << '01' if style[:bold]
    attrs << '04' if style[:italic] # underline, but hey, whatevs
    escape(attrs)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.