module Asciidoctor::SyntaxHighlighter

def highlight node, source, lang, opts

Returns the highlighted source String or a tuple of the highlighted source String and an Integer line offset.

:style - The String style (aka theme) to use for colorizing the code (optional).
:start_line_number - The starting Integer (1-based) line number (optional, default: 1).
:number_lines - A Symbol indicating whether lines should be numbered (:table or :inline) (optional).
:highlight_lines - A 1-based Array of Integer line numbers to highlight (aka emphasize) (optional).
:css_mode - The Symbol CSS mode (:class or :inline).
:callouts - A Hash of callouts extracted from the source, indexed by line number (1-based) (optional).
opts - A Hash of options that configure the syntax highlighting:
lang - The source language String specified on this block (e.g., ruby).
source - The raw source text String of this source block (after preprocessing).
node - The source Block to syntax highlight.

tuple containing the highlighted source and the number of lines by which the source was shifted.
are added to the end of each line. If the source gets shifted by one or more lines, this method must return a
If the source contains callout marks, the caller assumes the source remains on the same lines and no closing tags

Public: Highlights the specified source when this source block is being converted.
def highlight node, source, lang, opts
  raise ::NotImplementedError, %(#{SyntaxHighlighter} subclass #{self.class} must implement the ##{__method__} method since #highlight? returns true)
end