diff options
| author | Emilio Jesus Gallego Arias | 2016-06-01 17:06:25 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2016-06-02 16:45:39 +0200 |
| commit | 318fc2c04df1e73cc8a178d4fc1ce8bf5543649b (patch) | |
| tree | 440fb8e51d1fe118d866d0c620a86724e3c6eae8 /ide/richprinter.ml | |
| parent | ffd89ea323937b7d323e24a2b6d53cdc857117dd (diff) | |
Move ide serialization libraries from lib/ to ide/
This makes the core free from particular protocol choices.
It should help with the ppx serialization project and shrinks clib.cma a
bit.
Diffstat (limited to 'ide/richprinter.ml')
| -rw-r--r-- | ide/richprinter.ml | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/ide/richprinter.ml b/ide/richprinter.ml new file mode 100644 index 0000000000..5f39f36eab --- /dev/null +++ b/ide/richprinter.ml @@ -0,0 +1,24 @@ +open Richpp + +module RichppConstr = Ppconstr.Richpp +module RichppVernac = Ppvernac.Richpp +module RichppTactic = Pptactic.Richpp + +type rich_pp = + Ppannotation.t Richpp.located Xml_datatype.gxml + * Xml_datatype.xml + +let get_annotations obj = Pp.Tag.prj obj Ppannotation.tag + +let make_richpp pr ast = + let rich_pp = + rich_pp get_annotations (pr ast) + in + let xml = Ppannotation.( + xml_of_rich_pp tag_of_annotation attributes_of_annotation rich_pp + ) + in + (rich_pp, xml) + +let richpp_vernac = make_richpp RichppVernac.pr_vernac +let richpp_constr = make_richpp RichppConstr.pr_constr_expr |
