This commit is contained in:
Jeremie Dimino 2017-06-07 11:15:15 +01:00
parent 0352ab80a4
commit 63ef644766
1 changed files with 10 additions and 2 deletions

View File

@ -236,6 +236,14 @@ let pp_list f ppf l =
Format.pp_print_cut ppf ();
f ppf x)
let pp_value var =
match var with
| "archive" | "plugin" | "requires"
| "ppx_runtime_deps" | "linkopts" | "jsoo_runtime" ->
Format.pp_print_text
| _ ->
Format.pp_print_string
let rec pp ppf entries =
Format.fprintf ppf "@[<v>%a@]" (pp_list pp_entry) entries
@ -246,11 +254,11 @@ and pp_entry ppf entry =
fprintf ppf "# %s" s
| Rule { var; predicates = []; action; value } ->
fprintf ppf "@[%s %s \"@[<hv>%a@]\"@]"
var (string_of_action action) pp_print_text value
var (string_of_action action) (pp_value var) value
| Rule { var; predicates; action; value } ->
fprintf ppf "@[%s(%s) %s \"@[<hv>%a@]\"@]"
var (String.concat ~sep:"," (List.map predicates ~f:string_of_predicate))
(string_of_action action) pp_print_text value
(string_of_action action) (pp_value var) value
| Package { name; entries } ->
fprintf ppf "@[<v 2>package %S (@,%a@]@,)"
name pp entries