lib/rouge/lexers/groovy.rb in rouge-0.4.0 vs lib/rouge/lexers/groovy.rb in rouge-0.5.0
- old
+ new
@@ -38,65 +38,65 @@
(\s*(?:\w[\w\d.\[\]]*\s+)+?) # return arguments
(\w[\w\d]*) # method name
(\s*) (\() # signature start
)x do |m|
delegate self.clone, m[1]
- token 'Name.Function', m[2]
- token 'Text', m[3]
- token 'Operator', m[4]
+ token Name::Function, m[2]
+ token Text, m[3]
+ token Operator, m[4]
end
# whitespace
- rule /[^\S\n]+/, 'Text'
- rule %r(//.*?\n), 'Comment.Single'
- rule %r(/[*].*?[*]/), 'Comment.Multiline'
- rule /@\w[\w\d.]*/, 'Name.Decorator'
- rule /(class|interface)\b/, 'Keyword.Declaration', :class
- rule /package\b/, 'Keyword.Namespace', :import
- rule /import\b/, 'Keyword.Namespace', :import
+ rule /[^\S\n]+/, Text
+ rule %r(//.*?\n), Comment::Single
+ rule %r(/[*].*?[*]/)m, Comment::Multiline
+ rule /@\w[\w\d.]*/, Name::Decorator
+ rule /(class|interface)\b/, Keyword::Declaration, :class
+ rule /package\b/, Keyword::Namespace, :import
+ rule /import\b/, Keyword::Namespace, :import
- rule /"(\\\\|\\"|[^"])*"/, 'Literal.String.Double'
- rule /'(\\\\|\\'|[^'])*'/, 'Literal.String.Single'
- rule %r(\$/((?!/\$).)*/\$), 'Literal.String'
- rule %r(/(\\\\|\\"|[^/])*/), 'Literal.String'
- rule /'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'/, 'Literal.String.Char'
+ rule /"(\\\\|\\"|[^"])*"/, Str::Double
+ rule /'(\\\\|\\'|[^'])*'/, Str::Single
+ rule %r(\$/((?!/\$).)*/\$), Str
+ rule %r(/(\\\\|\\"|[^/])*/), Str
+ rule /'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'/, Str::Char
rule /(\.)([a-zA-Z_][a-zA-Z0-9_]*)/ do
- group 'Operator'
- group 'Name.Attribute'
+ group Operator
+ group Name::Attribute
end
- rule /[a-zA-Z_][a-zA-Z0-9_]*:/, 'Name.Label'
+ rule /[a-zA-Z_][a-zA-Z0-9_]*:/, Name::Label
rule /[a-zA-Z_\$][a-zA-Z0-9_]*/ do |m|
if self.class.keywords.include? m[0]
- token 'Keyword'
+ token Keyword
elsif self.class.declarations.include? m[0]
- token 'Keyword.Declaration'
+ token Keyword::Declaration
elsif self.class.types.include? m[0]
- token 'Keyword.Type'
+ token Keyword::Type
elsif self.class.constants.include? m[0]
- token 'Keyword.Constant'
+ token Keyword::Constant
else
- token 'Name'
+ token Name
end
end
- rule %r([~^*!%&\[\](){}<>\|+=:;,./?-]), 'Operator'
+ rule %r([~^*!%&\[\](){}<>\|+=:;,./?-]), Operator
# numbers
- rule /\d+\.\d+([eE]\d+)?[fd]?/, 'Literal.Number.Float'
- rule /0x[0-9a-f]+/, 'Literal.Number.Hex'
- rule /[0-9]+L?/, 'Literal.Number.Integer'
- rule /\n/, 'Text'
+ rule /\d+\.\d+([eE]\d+)?[fd]?/, Num::Float
+ rule /0x[0-9a-f]+/, Num::Hex
+ rule /[0-9]+L?/, Num::Integer
+ rule /\n/, Text
end
state :class do
- rule /\s+/, 'Text'
- rule /\w[\w\d]*/, 'Name.Class', :pop!
+ rule /\s+/, Text
+ rule /\w[\w\d]*/, Name::Class, :pop!
end
state :import do
- rule /\s+/, 'Text'
- rule /[\w\d.]+[*]?/, 'Name.Namespace', :pop!
+ rule /\s+/, Text
+ rule /[\w\d.]+[*]?/, Name::Namespace, :pop!
end
end
end
end