sig
  type t = (CamomileLibrary.UChar.t * LTerm_style.t) array
  val of_string : Zed_utf8.t -> LTerm_text.t
  val to_string : LTerm_text.t -> Zed_utf8.t
  val of_string_maybe_invalid : string -> LTerm_text.t
  val of_rope : Zed_rope.t -> LTerm_text.t
  val to_rope : LTerm_text.t -> Zed_rope.t
  val stylise : string -> LTerm_style.t -> LTerm_text.t
  val stylise_parenthesis :
    LTerm_text.t ->
    ?paren:(CamomileLibrary.UChar.t * CamomileLibrary.UChar.t) list ->
    int -> LTerm_style.t -> unit
  type item =
      S of Zed_utf8.t
    | R of Zed_rope.t
    | B_bold of bool
    | E_bold
    | B_underline of bool
    | E_underline
    | B_blink of bool
    | E_blink
    | B_reverse of bool
    | E_reverse
    | B_fg of LTerm_style.color
    | E_fg
    | B_bg of LTerm_style.color
    | E_bg
  type markup = LTerm_text.item list
  val eval : LTerm_text.markup -> LTerm_text.t
end