summaryrefslogtreecommitdiff
path: root/lib/coderay/scanners/raydebug.rb
diff options
context:
space:
mode:
authorKornelius Kalnbach <murphy@rubychan.de>2013-07-21 20:14:21 +0200
committerKornelius Kalnbach <murphy@rubychan.de>2013-07-21 20:14:21 +0200
commit5d6bee7f5caced1383e6aac427fb356a4788794b (patch)
tree1bfa3fb3f2ed69bcdef635eea1b2d5fa84b5aaa2 /lib/coderay/scanners/raydebug.rb
parent2ab42c7b5e674453fac0320fe0c4a40daf6197e1 (diff)
downloadcoderay-5d6bee7f5caced1383e6aac427fb356a4788794b.tar.gz
tweak Debug scanners again, introduce :unknown token kind
Diffstat (limited to 'lib/coderay/scanners/raydebug.rb')
-rw-r--r--lib/coderay/scanners/raydebug.rb17
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/coderay/scanners/raydebug.rb b/lib/coderay/scanners/raydebug.rb
index 6c1c10f..1effdc8 100644
--- a/lib/coderay/scanners/raydebug.rb
+++ b/lib/coderay/scanners/raydebug.rb
@@ -3,9 +3,9 @@ require 'set'
module CodeRay
module Scanners
- # = Debug Scanner
+ # = Raydebug Scanner
#
- # Parses the output of the Encoders::Debug encoder.
+ # Highlights the output of the Encoders::Debug encoder.
class Raydebug < Scanner
register_for :raydebug
@@ -43,17 +43,12 @@ module Scanners
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
+ encoder.text_token self[1], :class
+ if @known_token_kinds.include? self[1]
+ kind = self[1].to_sym
else
- raise 'CodeRay bug: This case should not be reached.'
+ kind = :unknown
end
- # FIXME: cache attack
- kind = kind.to_sym
opened_tokens << kind
encoder.begin_group kind
encoder.text_token self[2], :operator