diff options
Diffstat (limited to 'vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb')
-rw-r--r-- | vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb b/vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb new file mode 100644 index 000000000..8e1c0f01a --- /dev/null +++ b/vendor/plugins/coderay-0.7.6.227/lib/coderay/encoders/debug.rb @@ -0,0 +1,41 @@ +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. + class Debug < Encoder + + include Streamable + register_for :debug + + FILE_EXTENSION = 'raydebug' + + protected + def text_token text, kind + if kind == :space + text + else + text = text.gsub(/[)\\]/, '\\\\\0') # escape ) and \ + "#{kind}(#{text})" + end + end + + def open_token kind + "#{kind}<" + end + + def close_token kind + ">" + end + + end + +end +end |