Up

module Readline

: sig

Interactive line editing.

This implements very basic readline abilities: backspace, left and right arrows work as expected. There's also a history that can be browsed through the up and down arrows.

#
type completer = left:string -> right:string -> string list
#
module History : sig

A mutable variable representing the history.

#
type t
#
val null : t

A value which is always empty

#
val default : t
#
val create : int -> t
#
val flush : t -> unit
#
val to_list : t -> string list
#
val of_list : ?size:int -> string list -> t
end
#
val input_line : ?history:History.t -> ?prompt:string -> ?text:string -> ?tab_completion:completer -> unit -> string option

prompt the string to use as a prompt (default value ">")
history the mutable value used as a history. The deault value is History.default. If you don't want any history ou should use History.null
tab_completion the function use to complete on tab. By default there is no completion.
Returns None on EOF (i.e. the user typed ctrl + d)
#
val input_line_eof : ?history:History.t -> ?prompt:string -> ?text:string -> ?tab_completion:completer -> unit -> string
#
val password : ?prompt:string -> unit -> string option

Prompts for a password. Displays '*' instead of typed characters.

Returns None on EOF
#
val confirm : ?prompt:string -> string -> bool

Prompts for an answer. Returns true if the answer equals the given string (ignoring case), false otherwise.

#
val choice : (string * 'a) list -> 'a option

choice ["a",a;"b",b] Prompts the user to choose a between several value (associated to strings) and returns the value chosen by the user.

Returns None on EOF.
end