Up

Module Readline

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.

Signature

type completer = left:string -> right:string -> string list
module History : sig .. end
A mutable variable representing the history.
val input_line : ?history:History.t -> ?prompt:string -> ?text:string -> ?tab_completion:completer -> unit -> string option
Param [prompt] the string to use as a prompt (default value ">")
Param [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
Param [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.