package higlo

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Printers for the higlo tool.

type printer = Lang.token list -> unit
type classes = {
  1. bcomment : string;
  2. constant : string;
  3. directive : string;
  4. escape : string;
  5. id : string;
  6. keyword : int -> string;
  7. lcomment : string;
  8. numeric : string;
  9. string : string;
  10. symbol : int -> string;
  11. text : string;
}

This structure defines the (X)HTML classes to use when producing XML.

val default_classes : classes

Default X(HTML) classes.

val token_to_xml : ?classes:classes -> Lang.token -> Xtmpl.Xml.tree

Map a token to an XML tree (just a <span class="...">code</span> node).

  • parameter classes

    is used to change the class names used in the generated node.

val token_to_xml_rewrite : ?classes:classes -> Lang.token -> Xtmpl.Rewrite.tree

Same as token_to_xml but return a Xtmpl.Rewrite.tree.

val to_xml : ?classes:classes -> lang:string -> string -> Xtmpl.Xml.tree list

to_xtmpl ~lang code gets the lexer associated to the language lang, uses it to retrieve a list of tokens (using the Lang.parse function) and maps these tokens to XML nodes. See token_to_xml about the classes parameter.

val to_xml_rewrite : ?classes:classes -> lang:string -> string -> Xtmpl.Rewrite.tree list

Same as to_xml but return a Xtmpl.Rewrite.tree.

val get_printer : string -> printer
  • raises Failure

    if the printer is not registered.

val register_printer : string -> printer -> unit