diff --git a/src/libraries/utils/pretty_utils.ml b/src/libraries/utils/pretty_utils.ml index b45091105571b31ea853dfe1f5891833b170f64d..cf7bc17c9d7773d63734f5192b56d729732b44e7 100644 --- a/src/libraries/utils/pretty_utils.ml +++ b/src/libraries/utils/pretty_utils.ml @@ -132,6 +132,10 @@ let pp_pair let escape_underscores = Str.global_replace (Str.regexp_string "_") "__" +let pp_escaped pp fmt e = + let s = Format.asprintf "%a" pp e in + Format.fprintf fmt "%s" (String.escaped s) + let pp_flowlist ?(left=format_of_string "(") ?(sep=format_of_string ",") ?(right=format_of_string ")") f out = function | [] -> Format.fprintf out "%(%)%(%)" left right diff --git a/src/libraries/utils/pretty_utils.mli b/src/libraries/utils/pretty_utils.mli index 4e3622182141bd02cd96d4416fd0b9ac6ed27fcf..12c9d35b3ecbb3add9430a38500183076c27b0c4 100644 --- a/src/libraries/utils/pretty_utils.mli +++ b/src/libraries/utils/pretty_utils.mli @@ -143,6 +143,10 @@ val pp_trail : 'a formatter -> 'a formatter (** pretty-prints its contents inside an '(** ... **)' horizontal block trailed with '*' *) +val pp_escaped: 'a formatter -> 'a formatter +(** [pp_escaped pp e] pretty-prints [e] with [String.escaped]. + @since Frama-C+dev *) + (* ********************************************************************** *) (** {2 Description Lists (margins)} *) (* ********************************************************************** *)