summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/coderay/scanners/java.rb20
-rw-r--r--lib/coderay/styles/alpha.rb1
-rw-r--r--lib/coderay/styles/cycnus.rb1
-rwxr-xr-xlib/coderay/token_kinds.rb1
4 files changed, 17 insertions, 6 deletions
diff --git a/lib/coderay/scanners/java.rb b/lib/coderay/scanners/java.rb
index 203385d..2dfb1b6 100644
--- a/lib/coderay/scanners/java.rb
+++ b/lib/coderay/scanners/java.rb
@@ -52,7 +52,9 @@ module Scanners
state = :initial
string_delimiter = nil
- import_clause = class_name_follows = last_token_dot = false
+ package_name_expected = false
+ class_name_follows = false
+ last_token_dot = false
until eos?
@@ -71,8 +73,8 @@ module Scanners
tokens << [match, :comment]
next
- elsif import_clause && scan(/ #{IDENT} (?: \. #{IDENT} )* /ox)
- kind = :include
+ elsif package_name_expected && scan(/ #{IDENT} (?: \. #{IDENT} )* /ox)
+ kind = package_name_expected
elsif match = scan(/ #{IDENT} | \[\] /ox)
kind = IDENT_KIND[match]
@@ -82,15 +84,21 @@ module Scanners
kind = :class
class_name_follows = false
else
- import_clause = true if match == 'import'
- class_name_follows = true if match == 'class' || match == 'interface'
+ case match
+ when 'import'
+ package_name_expected = :include
+ when 'package'
+ package_name_expected = :namespace
+ when 'class', 'interface'
+ class_name_follows = true
+ end
end
elsif scan(/ \.(?!\d) | [,?:()\[\]}] | -- | \+\+ | && | \|\| | \*\*=? | [-+*\/%^~&|<>=!]=? | <<<?=? | >>>?=? /x)
kind = :operator
elsif scan(/;/)
- import_clause = false
+ package_name_expected = false
kind = :operator
elsif scan(/\{/)
diff --git a/lib/coderay/styles/alpha.rb b/lib/coderay/styles/alpha.rb
index 411ac0c..24b364a 100644
--- a/lib/coderay/styles/alpha.rb
+++ b/lib/coderay/styles/alpha.rb
@@ -82,6 +82,7 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top; }
.iv { color:#33B }
.la { color:#970; font-weight:bold }
.lv { color:#963 }
+.ns { color:#707; font-weight:bold }
.oc { color:#40E; font-weight:bold }
.op { }
.pc { color:#058; font-weight:bold }
diff --git a/lib/coderay/styles/cycnus.rb b/lib/coderay/styles/cycnus.rb
index a7eba80..7427662 100644
--- a/lib/coderay/styles/cycnus.rb
+++ b/lib/coderay/styles/cycnus.rb
@@ -83,6 +83,7 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top; }
.iv { color:#33B }
.la { color:#970; font-weight:bold }
.lv { color:#963 }
+.ns { color:#707; font-weight:bold }
.oc { color:#40E; font-weight:bold }
.op { }
.pc { color:#058; font-weight:bold }
diff --git a/lib/coderay/token_kinds.rb b/lib/coderay/token_kinds.rb
index 29bacb4..f6341fb 100755
--- a/lib/coderay/token_kinds.rb
+++ b/lib/coderay/token_kinds.rb
@@ -49,6 +49,7 @@ module CodeRay
:label => 'la',
:local_variable => 'lv',
:modifier => 'mod',
+ :namespace => 'ns',
:oct => 'oc',
:predefined => 'pd',
:preprocessor => 'pp',