# Module LTerm_text

    module LTerm_text: sig .. end

Styled text.

    type t = (CamomileLibrary.UChar.t * LTerm_style.t) array

Type of a string with styles for each characters.

###### Conversions

    val of_string : Zed_utf8.t -> t

Creates a styled string from a string. All characters of the string have no style.

    val to_string : t -> Zed_utf8.t

Returns the string part of a styled string.

    val of_string_maybe_invalid : string -> t

Creates a styled string from a string. All characters of the string have no style. The string may contain invalid UTF-8 sequences, in which case invalid bytes are escaped with the syntax `\yXX`.

    val of_rope : Zed_rope.t -> t

Creates a styled string from a rope.

    val to_rope : t -> Zed_rope.t

Returns the string part of a styled string as a rope.

    val stylise : string -> LTerm_style.t -> t

`stylise string style` creates a styled string with all styles set to `style`.

###### Parenthesis matching

    val stylise_parenthesis : t ->
           ?paren:(CamomileLibrary.UChar.t * CamomileLibrary.UChar.t) list ->
           int -> LTerm_style.t -> unit

`stylise_parenthesis text ?paren pos style` searchs for parenthesis group starting or ending at `pos` and apply them the style `style`. `paren` is the list of parenthesis recognized.

###### Markup strings

Markup strings are used to conveniently define styled strings.

    type item =

`|` | `S of `Zed_utf8.t`` | `(*` | A UTF-8 encoded string. | `*)`
`|` | `R of `Zed_rope.t`` | `(*` | A rope. | `*)`
`|` | `B_bold of `bool`` | `(*` | Begins bold mode. | `*)`
`|` | `E_bold` | `(*` | Ends bold mode. | `*)`
`|` | `B_underline of `bool`` | `(*` | Begins underlined mode. | `*)`
`|` | `E_underline` | `(*` | Ends underlined mode. | `*)`
`|` | `B_blink of `bool`` | `(*` | Begins blinking mode. | `*)`
`|` | `E_blink` | `(*` | Ends blinking mode. | `*)`
`|` | `B_reverse of `bool`` | `(*` | Begins reverse video mode. | `*)`
`|` | `E_reverse` | `(*` | Ends reverse video mode. | `*)`
`|` | `B_fg of `LTerm_style.color`` | `(*` | Begins foreground color. | `*)`
`|` | `E_fg` | `(*` | Ends foreground color. | `*)`
`|` | `B_bg of `LTerm_style.color`` | `(*` | Begins background color. | `*)`
`|` | `E_bg` | `(*` | Ends background color. | `*)`

Type of an item in a markup string.

    type markup = item list

Type of a markup string.

    val eval : markup -> t

`eval makrup` evaluates a markup strings as a styled string.