summaryrefslogtreecommitdiff
path: root/lib/coderay/scanners/c.rb
diff options
context:
space:
mode:
authormurphy <murphy@rubychan.de>2006-04-04 13:23:02 +0000
committermurphy <murphy@rubychan.de>2006-04-04 13:23:02 +0000
commit132b75e58dba4c93278721d60f177cfbee7d0e46 (patch)
treed4491961c01b9c9b91e7d3c25fefa4a4b5c5c5de /lib/coderay/scanners/c.rb
parent0d919d07f67166981cea476e1febbc40af2eae9c (diff)
downloadcoderay-132b75e58dba4c93278721d60f177cfbee7d0e46.tar.gz
Added HTML scanner!
Added test/html/suite.rb and tolkien.in.html test. Benchmark produces inline line numbers now. Minor changes to Ruby and C scanners. Rakefile: unit tests now in -d mode.
Diffstat (limited to 'lib/coderay/scanners/c.rb')
-rw-r--r--lib/coderay/scanners/c.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/coderay/scanners/c.rb b/lib/coderay/scanners/c.rb
index 5764254..ae7ef83 100644
--- a/lib/coderay/scanners/c.rb
+++ b/lib/coderay/scanners/c.rb
@@ -42,7 +42,9 @@ module CodeRay module Scanners
kind = :error
match = nil
- if state == :initial
+ case state
+
+ when :initial
if scan(/ \s+ | \\\n /x)
kind = :space
@@ -96,7 +98,7 @@ module CodeRay module Scanners
getch
end
- elsif state == :string
+ when :string
if scan(/[^\\"]+/)
kind = :content
elsif scan(/"/)
@@ -113,7 +115,7 @@ module CodeRay module Scanners
raise_inspect "else case \" reached; %p not handled." % peek(1), tokens
end
- elsif state == :include_expected
+ when :include_expected
if scan(/<[^>\n]+>?|"[^"\n\\]*(?:\\.[^"\n\\]*)*"?/)
kind = :include
state = :initial
@@ -128,7 +130,7 @@ module CodeRay module Scanners
end
else
- raise_inspect 'else-case reached', tokens
+ raise_inspect 'Unknown state', tokens
end