sig
type t
type t' = Kwd' of string | Ident' of Ulib.Text.t | Num' of int
type id_annot =
Term_const of bool * bool
| Term_field
| Term_method
| Term_var
| Term_var_toplevel
| Term_spec
| Type_ctor of bool * bool
| Type_var
| Nexpr_var
| Module_name
| Class_name
| Target
| Component
val emp : Output.t
val kwd : string -> Output.t
val num : int -> Output.t
val str : Ulib.Text.t -> Output.t
val ws : Ast.lex_skips -> Output.t
val err : string -> Output.t
val meta : string -> Output.t
val comment : string -> Output.t
val comment_block : int option -> string list -> Output.t
val new_line : Output.t
val space : Output.t
val texspace : Output.t
val id : Output.id_annot -> Ulib.Text.t -> Output.t
val ( ^ ) : Output.t -> Output.t -> Output.t
val flat : Output.t list -> Output.t
val concat : Output.t -> Output.t list -> Output.t
val prefix_if_not_emp : Output.t -> Output.t -> Output.t
val block : bool -> int -> Output.t -> Output.t
val block_h : bool -> int -> Output.t -> Output.t
val block_v : bool -> int -> Output.t -> Output.t
val block_hv : bool -> int -> Output.t -> Output.t
val block_hov : bool -> int -> Output.t -> Output.t
val core : Output.t -> Output.t
val remove_core : Output.t -> Output.t
val extract_core : Output.t -> Output.t list
val remove_initial_ws : Output.t -> Output.t
val break_hint : bool -> int -> Output.t
val break_hint_cut : Output.t
val break_hint_space : int -> Output.t
val ensure_newline : Output.t
val to_rope :
Ulib.Text.t ->
(Ast.lex_skip -> Ulib.Text.t) ->
(Output.t' -> Output.t' -> bool) -> Output.t -> Ulib.Text.t
val ml_comment_to_rope : Ast.ml_comment -> Ulib.Text.t
val to_rope_tex : Output.t -> Ulib.Text.t
val to_rope_option_tex : Output.t -> Ulib.Text.t option
val tex_escape : Ulib.Text.t -> Ulib.Text.t
val tex_command_escape : Ulib.Text.t -> Ulib.Text.t
val tex_command_label : Ulib.Text.t -> Ulib.Text.t
val tex_command_name : Ulib.Text.t -> Ulib.Text.t
end