class Asciidoctor::SyntaxHighlighter::RougeAdapter

def create_lexer node, source, lang, opts

def create_lexer node, source, lang, opts
  if lang.include? '?'
    # NOTE cgi-style options only properly supported in Rouge >= 2.1
    if (lexer = ::Rouge::Lexer.find_fancy lang)
      unless lexer.tag != 'php' || (node.option? 'mixed') || ((lexer_opts = lexer.options).key? 'start_inline')
        lexer = lexer.class.new lexer_opts.merge 'start_inline' => true
      end
    end
  elsif (lexer = ::Rouge::Lexer.find lang)
    lexer = lexer.tag == 'php' && !(node.option? 'mixed') ? (lexer.new start_inline: true) : lexer.new
  end if lang
  lexer || ::Rouge::Lexers::PlainText.new
end