Mercurial > hg > soundsoftware-site
view vendor/gems/coderay-1.0.0/lib/coderay/encoders/debug.rb @ 1111:7d62d2f497c5 bibplugin_bibtex
adds all the necessary hidden fieds; associates authors, users and publications. Known issues associating publications, authors and users.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Fri, 07 Dec 2012 14:39:38 +0000 |
parents | cbb26bc654de |
children |
line wrap: on
line source
module CodeRay module Encoders # = Debug Encoder # # Fast encoder producing simple debug output. # # It is readable and diff-able and is used for testing. # # You cannot fully restore the tokens information from the # output, because consecutive :space tokens are merged. # Use Tokens#dump for caching purposes. # # See also: Scanners::Debug class Debug < Encoder register_for :debug FILE_EXTENSION = 'raydebug' def initialize options = {} super @opened = [] end def text_token text, kind if kind == :space @out << text else # TODO: Escape ( text = text.gsub(/[)\\]/, '\\\\\0') # escape ) and \ @out << kind.to_s << '(' << text << ')' end end def begin_group kind @opened << kind @out << kind.to_s << '<' end def end_group kind if @opened.last != kind puts @out raise "we are inside #{@opened.inspect}, not #{kind}" end @opened.pop @out << '>' end def begin_line kind @out << kind.to_s << '[' end def end_line kind @out << ']' end end end end