Mercurial > hg > soundsoftware-site
view vendor/gems/coderay-1.0.0/lib/coderay/scanners/raydebug.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 Scanners # = Debug Scanner # # Parses the output of the Encoders::Debug encoder. class Raydebug < Scanner register_for :raydebug file_extension 'raydebug' title 'CodeRay Token Dump' protected def scan_tokens encoder, options opened_tokens = [] until eos? if match = scan(/\s+/) encoder.text_token match, :space elsif match = scan(/ (\w+) \( ( [^\)\\]* ( \\. [^\)\\]* )* ) /x) kind = self[1] encoder.text_token kind, :class encoder.text_token '(', :operator match = self[2] encoder.text_token match, kind.to_sym encoder.text_token match, :operator if match = scan(/\)/) elsif match = scan(/ (\w+) ([<\[]) /x) kind = self[1] case self[2] when '<' encoder.text_token kind, :class when '[' encoder.text_token kind, :class else raise 'CodeRay bug: This case should not be reached.' end kind = kind.to_sym opened_tokens << kind encoder.begin_group kind encoder.text_token self[2], :operator elsif !opened_tokens.empty? && match = scan(/ [>\]] /x) encoder.text_token match, :operator encoder.end_group opened_tokens.pop else encoder.text_token getch, :space end end encoder.end_group opened_tokens.pop until opened_tokens.empty? encoder end end end end