lib/rouge/lexers/markdown.rb in rouge-3.11.1 vs lib/rouge/lexers/markdown.rb in rouge-3.12.0
- old
+ new
@@ -32,10 +32,16 @@
rule %r/^#(?=[^#]).*?$/, Generic::Heading
rule %r/^##*.*?$/, Generic::Subheading
rule %r/^([ \t]*)(```|~~~)([^\n]*\n)((.*?)(\2))?/m do |m|
name = m[3].strip
- sublexer = Lexer.find_fancy(name.empty? ? "guess" : name, m[5], @options)
+ sublexer =
+ begin
+ Lexer.find_fancy(name.empty? ? "guess" : name, m[5], @options)
+ rescue Guesser::Ambiguous => e
+ e.alternatives.first.new(@options)
+ end
+
sublexer ||= PlainText.new(@options.merge(:token => Str::Backtick))
sublexer.reset!
token Text, m[1]
token Punctuation, m[2]