package tyxml-ppx

  1. Overview
  2. Docs
PPX to write TyXML documents with the HTML syntax

Install

dune-project
 Dependency

Authors

Maintainers

Sources

tyxml-4.6.0.tbz
sha256=bfeb673c6b4e120a4eca4c48448add47dc3f8d02c2b40f63ffdccc4e91c902dd
sha512=69750eeaf467014282087bf9628f3278f3e5f00f4c7400358750d208664cfc3f79a5cba16767d2935e53477d1a6862fe08c5b801b69052ec12e09d1a93a5e9b4

doc/src/tyxml_ppx_register/tyxml_ppx_register.ml.html

Source file tyxml_ppx_register.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
open Ppxlib

let str_item_expansion name lang =
  Extension.declare_with_path_arg
    name
    Extension.Context.structure_item
    Ast_pattern.(pstr ((pstr_value __ __) ^:: nil))
    (Tyxml_ppx.expand_str_item ~lang)

let expr_expansion name lang =
  Extension.declare_with_path_arg
    name
    Extension.Context.expression
    Ast_pattern.(pstr ((pstr_eval __ __) ^:: nil))
    (Tyxml_ppx.expand_expr ~lang)

let () =
  let extensions = [
    expr_expansion "tyxml.html" Html;
    expr_expansion "tyxml.svg" Svg;
    str_item_expansion "tyxml.html" Html;
    str_item_expansion "tyxml.svg" Svg;
  ]
  in    
  Ppxlib.Driver.register_transformation ~extensions "tyxml"