module UTop:sig
..end
val version : string
val count : int React.signal
val keywords : Set.Make(String).t Pervasives.ref
val add_keyword : string -> unit
type
ui =
| |
Console |
|||
| |
Emacs |
(* | The user interface in use. | *) |
val get_ui : unit -> ui
val hide_reserved : bool React.signal
true
(the default) identifiers starting with a '_' will be hidden from the
output. i.e. the following phrase won't produces any output:
let _x = 1
This is for hidding variables created by code generators for internal use. It can
also be set/unset by the command line options -hide-reserved
and -show-reserved
.
val get_hide_reserved : unit -> bool
UTop.hide_reserved
.val set_hide_reserved : bool -> unit
UTop.hide_reserved
.val show_box : bool React.signal
true
(the default) the completion bar is displayed.val get_show_box : unit -> bool
UTop.show_box
.val set_show_box : bool -> unit
UTop.show_box
.type
syntax =
| |
Normal |
(* | No camlp4. | *) |
| |
Camlp4o |
(* | Camlp4, original syntax. | *) |
| |
Camlp4r |
(* | Camlp4, revised syntax. | *) |
val syntax : syntax React.signal
Camlp4o
or Camlp4r
quotations
are recognized. It is modified when you type #camlp4o
or
#camlp4r
. At the beginning it is Normal
.val get_syntax : unit -> syntax
UTop.syntax
.val set_syntax : syntax -> unit
Notes:
Camlp4o
or Camlp4r
you cannot change it again.#camlp4o
is the same as calling set_syntax Camlp4o
.#camlp4r
is the same as calling set_syntax Camlp4r
.val phrase_terminator : string React.signal
val get_phrase_terminator : unit -> string
UTop.phrase_terminator
.val set_phrase_terminator : string -> unit
UTop.phrase_terminator
.val auto_run_lwt : bool React.signal
true
(the default) toplevel lwt expressions are
automatically run with Lwt_main.run
. i.e. if you type:
Lwt_io.printl "Hello, world"
this will be replaced by:
Lwt_main.run (Lwt_io.printl "Hello, world")
val get_auto_run_lwt : unit -> bool
UTop.auto_run_lwt
.val set_auto_run_lwt : bool -> unit
UTop.auto_run_lwt
.val auto_run_async : bool React.signal
true
(the default) toplevel Async expressions are
automatically run with in a separate thread with
Thread_safe.block_on_async_exn
. i.e. if you type:
after (Time.Span.of_s 1.0)
this will be replaced by:
Thread_safe.block_on_async_exn (fun () -> after (Time.Span.of_s 1.0))
val get_auto_run_async : unit -> bool
UTop.auto_run_async
.val set_auto_run_async : bool -> unit
UTop.auto_run_async
.val history : LTerm_history.t
LTerm_history
module.
For example if you want to limit the history to 1000 line, add these lines to your ~/.ocamlinit file:
#require "lambda-term";;
LTerm_history.set_max_entries UTop.history 1000;;
val history_file_name : string option Pervasives.ref
None
, no history will be loaded
or saved.val history_file_max_size : int option Pervasives.ref
None
(the default) the
maximum size of history
will be used.val history_file_max_entries : int option Pervasives.ref
None
(the
default) the maximum number of entries if history
will be
used.type
profile =
| |
Dark |
|||
| |
Light |
(* | Profile for colors. | *) |
val profile : profile React.signal
Dark
. This is used by the
default prompt to choose colors.val set_profile : profile -> unit
val size : LTerm_geom.size React.signal
val key_sequence : LTerm_key.t list React.signal
val time : float Pervasives.ref
val prompt : LTerm_text.t React.signal Pervasives.ref
val new_command_hooks : (unit -> unit) Lwt_sequence.t
val at_new_command : (unit -> unit) -> unit
at_new_command f
adds f
to the hooks executed before each
new commands.typelocation =
int * int
type 'a
result =
| |
Value of |
(* | The function succeeded and returned this value. | *) |
| |
Error of |
(* | The function failed. Arguments are a list of locations to highlight in the source and an error message. | *) |
exception Need_more
val parse_use_file : (string -> bool -> Parsetree.toplevel_phrase list result) Pervasives.ref
val parse_use_file_default : string -> bool -> Parsetree.toplevel_phrase list result
val parse_toplevel_phrase : (string -> bool -> Parsetree.toplevel_phrase result) Pervasives.ref
parse_toplevel_phrase
is the function used to parse a phrase
typed in the toplevel.
Its arguments are:
input
: the string to parseeos_is_error
eos_is_error
is true
and the parser reach the end of
input, then Parse_failure
should be returned.
If eos_is_error
is false
and the parser reach the end of
input, the exception UTop.Need_more
must be thrown.
Except for UTop.Need_more
, the function must not raise any
exception.
val parse_toplevel_phrase_default : string -> bool -> Parsetree.toplevel_phrase result
val parse_default : (Lexing.lexbuf -> 'a) -> string -> bool -> 'a result
val input_name : string
val lexbuf_of_string : bool Pervasives.ref -> string -> Lexing.lexbuf
lexbuf_of_string eof str
is the same as Lexing.from_string
str
except that if the lexer reach the end of str
then eof
is
set to true
.val get_message : (Format.formatter -> 'a -> unit) -> 'a -> string
get_message printer x
applies printer
on x
and
returns everything it prints as a string.val get_ocaml_error_message : exn -> location * string
get_ocaml_error_message exn
returns the location and error
message for the exception exn
which must be an exception from
the compiler.val check_phrase : Parsetree.toplevel_phrase -> (location list * string) option
check_phrase phrase
checks that phrase
can be executed
without typing or compilation errors. It returns None
if
phrase
is OK and an error message otherwise.
If the result is None
it is guaranteed that
Toploop.execute_phrase
won't raise any exception.
val collect_formatters : Buffer.t -> Format.formatter list -> (unit -> 'a) -> 'a
collect_formatters buf pps f
executes f
and redirect
everything it prints on pps
to buf
.val discard_formatters : Format.formatter list -> (unit -> 'a) -> 'a
discard_formatters pps f
executes f
, dropping everything it
prints on pps
.