diff options
| author | Pierre-Marie Pédrot | 2014-11-13 21:27:26 +0100 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2014-11-15 18:28:32 +0100 |
| commit | 9dcb23c2d7741b0fd9dbd8a568332dfc6362b5f1 (patch) | |
| tree | 0bd448d357db586bd94d7cc5be10c355c12f54f9 /printing/ppstyle.mli | |
| parent | 4dbaa35177eab6cbfb7c86d01a35e47df99f39a6 (diff) | |
Adding a pretty-printing style library.
Diffstat (limited to 'printing/ppstyle.mli')
| -rw-r--r-- | printing/ppstyle.mli | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/printing/ppstyle.mli b/printing/ppstyle.mli new file mode 100644 index 0000000000..5fd9e074d8 --- /dev/null +++ b/printing/ppstyle.mli @@ -0,0 +1,53 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2012 *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) + +(** Highlighting of printers. Used for pretty-printing terms that should be + displayed on a color-capable terminal. *) + +(** {5 Style tags} *) + +type t +(** Style tags *) + +val make : string list -> t +(** Create a new tag with the given name. Each name must be unique. *) + +val repr : t -> string list +(** Gives back the original name of the style tag where each string has been + concatenated and separated with a dot. *) + +val tag : t Pp.Tag.key +(** An annotation for styles *) + +(** {5 Manipulating global styles} *) + +val get_style : t -> Terminal.style option +(** Get the style associated to a tag. *) + +val set_style : t -> Terminal.style option -> unit +(** Set a style associated to a tag. *) + +val clear_styles : unit -> unit +(** Clear all styles. *) + +val parse_config : string -> unit +(** Add all styles from the given string as parsed by {!Terminal.parse}. + Unregistered tags are ignored. *) + +val dump : unit -> (t * Terminal.style option) list +(** Recover the list of known tags together with their current style. *) + +(** {5 Setting color output} *) + +val init_color_output : unit -> unit +(** Once called, all tags defined here will use their current style when + printed. To this end, this function redefines the loggers used when sending + messages to the user. The program will in particular use the formatters + {!Pp_control.std_ft} and {!Pp_control.err_ft} to display those messages, + with additional syle information provided by this module. Be careful this is + not compatible with the Emacs mode! *) |
