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]