From 132b75e58dba4c93278721d60f177cfbee7d0e46 Mon Sep 17 00:00:00 2001 From: murphy Date: Tue, 4 Apr 2006 13:23:02 +0000 Subject: 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. --- lib/coderay/scanners/c.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib/coderay/scanners/c.rb') 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 -- cgit v1.2.1