lib/rouge/lexers/python.rb in rouge-1.1.0 vs lib/rouge/lexers/python.rb in rouge-1.2.0
- old
+ new
@@ -50,13 +50,11 @@
identifier = /[a-z_][a-z0-9_]*/i
dotted_identifier = /[a-z_.][a-z0-9_.]*/i
state :root do
rule /\n+/m, Text
rule /^(:)(\s*)([ru]{,2}""".*?""")/mi do
- group Punctuation
- group Text
- group Str::Doc
+ groups Punctuation, Text, Str::Doc
end
rule /[^\S\n]+/, Text
rule /#.*$/, Comment
rule /[\[\]{}:(),;]/, Punctuation
@@ -67,29 +65,25 @@
rule /!=|==|<<|>>|[-~+\/*%=<>&^|.]/, Operator
rule /(?:#{keywords.join('|')})\b/, Keyword
rule /(def)((?:\s|\\\s)+)/ do
- group Keyword # def
- group Text # whitespae
+ groups Keyword, Text
push :funcname
end
rule /(class)((?:\s|\\\s)+)/ do
- group Keyword
- group Text
+ groups Keyword, Text
push :classname
end
rule /(from)((?:\s|\\\s)+)/ do
- group Keyword::Namespace
- group Text
+ groups Keyword::Namespace, Text
push :fromimport
end
rule /(import)((?:\s|\\\s)+)/ do
- group Keyword::Namespace
- group Text
+ groups Keyword::Namespace, Text
push :import
end
# using negative lookbehind so we don't match property names
rule /(?<!\.)(?:#{builtins.join('|')})/, Name::Builtin