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