lib/rouge/lexers/markdown.rb in rouge-2.0.5 vs lib/rouge/lexers/markdown.rb in rouge-2.0.6

- old
+ new

@@ -29,14 +29,14 @@ rule /^[\S ]+\n(?:===*)\n/, Generic::Subheading rule /^#(?=[^#]).*?$/, Generic::Heading rule /^##*.*?$/, Generic::Subheading - # TODO: syntax highlight the code block, github style - rule /(\n[ \t]*)(```|~~~)(.*?)(\n.*?)(\2)/m do |m| + rule /(\n[ \t]*)(```|~~~)(.*?)(\n.*?\n)(\2)/m do |m| sublexer = Lexer.find_fancy(m[3].strip, m[4]) sublexer ||= PlainText.new(:token => Str::Backtick) + sublexer.options(self.options) sublexer.reset! token Text, m[1] token Punctuation, m[2] token Name::Label, m[3] @@ -44,10 +44,10 @@ token Punctuation, m[5] end rule /\n\n(( |\t).*?\n|\n)+/, Str::Backtick - rule /(`+)#{edot}+?\1/, Str::Backtick + rule /(`+)(?:#{edot}|\n)+?\1/, Str::Backtick # various uses of * are in order of precedence # line breaks rule /^(\s*[*]){3,}\s*$/, Punctuation