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"
|