From 078ea65a5deb2c1ee6c4b982a20856e2d186536d Mon Sep 17 00:00:00 2001 From: murphy Date: Tue, 14 Apr 2009 04:12:12 +0000 Subject: Java scanner: * Fixed test after r305 broke it. * [FIXED] Save last_token_dot state through comments. C scanner: * Added file_extension declaration. ** All scanners should have this. * Code cleanup. --- lib/coderay/scanners/c.rb | 5 +++-- lib/coderay/scanners/java.rb | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'lib/coderay') diff --git a/lib/coderay/scanners/c.rb b/lib/coderay/scanners/c.rb index f6d71ad..9ec81ce 100644 --- a/lib/coderay/scanners/c.rb +++ b/lib/coderay/scanners/c.rb @@ -3,9 +3,10 @@ module Scanners class C < Scanner - register_for :c - include Streamable + + register_for :c + file_extension 'c' RESERVED_WORDS = [ 'asm', 'break', 'case', 'continue', 'default', 'do', 'else', diff --git a/lib/coderay/scanners/java.rb b/lib/coderay/scanners/java.rb index 71ad31a..dd2c014 100644 --- a/lib/coderay/scanners/java.rb +++ b/lib/coderay/scanners/java.rb @@ -61,8 +61,9 @@ module Scanners tokens << [match, :space] next - elsif scan(%r! // [^\n\\]* (?: \\. [^\n\\]* )* | /\* (?: .*? \*/ | .* ) !mx) - kind = :comment + elsif match = scan(%r! // [^\n\\]* (?: \\. [^\n\\]* )* | /\* (?: .*? \*/ | .* ) !mx) + tokens << [match, :comment] + next elsif import_clause && scan(/ #{IDENT} (?: \. #{IDENT} )* /ox) kind = :include @@ -79,7 +80,7 @@ module Scanners class_name_follows = true if match == 'class' || match == 'interface' end - elsif scan(/ \.(?!\d) | [,?:(\[)\]}] | -- | \+\+ | && | \|\| | \*\*=? | [-+*\/%^~&|<>=!]=? | <<>>?=? /x) + elsif scan(/ \.(?!\d) | [,?:()\[\]}] | -- | \+\+ | && | \|\| | \*\*=? | [-+*\/%^~&|<>=!]=? | <<>>?=? /x) kind = :operator elsif scan(/;/) -- cgit v1.2.1