module Asciidoctor::SyntaxHighlighter::DefaultFactory

def for name

pygments, rouge, and prettify. Refer to {Factory#for} for parameters and return value.
This method will lazy require and register additional built-in implementations, which include coderay,
def for name
  @@registry.fetch name do
    @@mutex.synchronize do
      @@registry.fetch name do
        if (require_path = PROVIDED[name])
          require require_path
          @@registry[name]
        else
          @@registry = @@registry.merge name => nil
          nil
        end
      end
    end
  end
end

def register syntax_highlighter, *names

def register syntax_highlighter, *names
  @@mutex.owned? ? names.each {|name| @@registry = @@registry.merge name => syntax_highlighter } :
      @@mutex.synchronize { register syntax_highlighter, *names }
end

def registry

def registry
  @@registry
end