class CodeRay::Encoders::Debug

See also: Scanners::Debug
output, because consecutive :space tokens are merged.
You cannot fully restore the tokens information from the
It is readable and diff-able and is used for testing.
Fast encoder producing simple debug output.
= Debug Encoder

def begin_group kind

def begin_group kind
  @out << "#{kind}<"
end

def begin_line kind

def begin_line kind
  @out << "#{kind}["
end

def end_group kind

def end_group kind
  @out << '>'
end

def end_line kind

def end_line kind
  @out << ']'
end

def text_token text, kind

def text_token text, kind
  if kind == :space
    @out << text
  else
    text = text.gsub('\\', '\\\\\\\\') if text.index('\\')
    text = text.gsub(')',  '\\\\)')    if text.index(')')
    @out << "#{kind}(#{text})"
  end
end