class Tkn2::ANSIReader

Constants

SCode
SText

Public Instance Methods

parse(content) click to toggle source
# File lib/tkn2/ansi_reader.rb, line 8
def parse(content)
  io = StringIO.new(content)
  state = SText
  buffer = ''
  while c = io.getc
    case state
    when SCode
      if c == 'm'
        code(buffer)
        state = SText
      else
        buffer << c
      end
    when SText
      if c == ?\e
        state = SCode
        buffer = ''
      else
        char(c)
      end
    end
  end
end