Mercurial > hg > soundsoftware-site
view vendor/gems/coderay-1.0.0/lib/coderay/encoders/debug.rb @ 1082:997f6d7738f7 bug_531
In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Thu, 22 Nov 2012 18:04:17 +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