module Asciidoctor::SyntaxHighlighter::Factory

Public Instance Methods

create(name, backend = 'html5', opts = {}) click to toggle source

Public: Resolves the name to a syntax highlighter instance, if found in the registry.

name - The String name of the syntax highlighter to create. backend - The String name of the backend for which this syntax highlighter is being used (default: ‘html5’). opts - A Hash of options providing information about the context in which this syntax highlighter is used:

:document - The Document for which this syntax highlighter was created.

Returns a [SyntaxHighlighter] instance for the specified name.

# File lib/asciidoctor/syntax_highlighter.rb, line 147
def create name, backend = 'html5', opts = {}
  if (syntax_hl = self.for name)
    syntax_hl = syntax_hl.new name, backend, opts if ::Class === syntax_hl
    raise ::NameError, %(#{syntax_hl.class} must specify a value for `name') unless syntax_hl.name
    syntax_hl
  end
end
for(name) click to toggle source

Public: Retrieves the syntax highlighter class or object registered for the specified name.

name - The String name of the syntax highlighter to retrieve.

Returns the SyntaxHighlighter Class or Object instance registered for this name.

# File lib/asciidoctor/syntax_highlighter.rb, line 135
def for name
  registry[name]
end
register(syntax_highlighter, *names) click to toggle source

Public: Associates the syntax highlighter class or object with the specified names.

syntax_highlighter - the syntax highlighter implementation to register names - one or more String names with which to register this syntax highlighter implementation.

Returns nothing.

# File lib/asciidoctor/syntax_highlighter.rb, line 126
def register syntax_highlighter, *names
  names.each {|name| registry[name] = syntax_highlighter }
end