Module Nls_doc

type statement = {
  1. sid : int;
  2. text : string;
  3. children : statement list;
}
type t = {
  1. statements : statement list;
  2. next_sid : int;
}
val of_outline : (int * string) list -> t
val get : t -> int -> statement option
val number : t -> int -> string option
val name_of : string -> string option
val find : t -> string -> int option
type where =
  1. | After
  2. | Down
  3. | Up
val insert : t -> target:int -> where -> string -> t * int
val set_text : t -> int -> string -> t
val delete : t -> int -> t
val move : t -> int -> target:int -> where -> t option
val copy : t -> int -> target:int -> where -> t option
val visible : t -> levels:int option -> (statement * int) list
val word_at : string -> int -> (int * int) option