lib/rouge/lexers/ruby.rb in rouge-0.2.8 vs lib/rouge/lexers/ruby.rb in rouge-0.2.9
- old
+ new
@@ -133,11 +133,14 @@
push :expr_start
@heredoc_queue = []
end
state :root do
+ rule /\n\s*/m, 'Text', :expr_start
+ rule /\s+/, 'Text' # NB: NOT /m
rule /#.*$/, 'Comment.Single'
+
rule %r(=begin\b.*?end\b)m, 'Comment.Multiline'
rule /(?:#{keywords.join('|')})\b/, 'Keyword', :expr_start
rule /(?:#{keywords_pseudo.join('|')})\b/, 'Keyword.Pseudo', :expr_start
rule %r(
(module)
@@ -192,11 +195,9 @@
rule /\[|\]|\*\*|<<?|>>?|>=|<=|<=>|=~|={3}|!~|&&?|\|\||\.{1,3}/,
'Operator', :expr_start
rule /[-+\/*%=<>&!^|~]=?/, 'Operator', :expr_start
rule %r<[({,?:\\;/]>, 'Punctuation', :expr_start
rule %r<[)}]>, 'Punctuation'
- rule /\n\s*/m, 'Text', :expr_start
- rule /\s+/, 'Text' # NB: NOT /m
end
state :has_heredocs do
rule /(?<!\w)(<<-?)(["`']?)([a-zA-Z_]\w*)(\2)/ do |m|
token 'Operator', m[1]