(** This module contains definitions of global flags and types used throughout. They should be defined from the command-line and never modified afterwards. *)
typefile=string
(** File names ; equal to [File.t] but let's avoid cyclic dependencies *)
typeraw_file=privatefile
(** A file name that has not yet been resolved, [options.path_rewrite] must be
calledonit*)
typebackend_lang=En|Fr|Pl
(** The usual auto/always/never option argument *)
typewhen_enum=Auto|Always|Never
typemessage_format_enum=
|Human
|GNU(** Format of error and warning messages output by the compiler. *)
(** Sources for program input *)
type'fileinput_src=
|FileNameof'file(** A file path to read from disk *)
|Contentsofstring*'file
(** A raw string containing the code, and the corresponding (fake)
filename*)
|Stdinof'file
(** Read from stdin; the specified filename will be used for file lookups,
errorreportings,etc.*)
(** {2 Configuration globals} *)
typeoptions=private{
mutableinput_src:fileinput_src;
mutablelanguage:backend_langoption;
mutabledebug:bool;
mutablecolor:when_enum;
mutablemessage_format:message_format_enum;
mutabletrace:bool;
mutableplugins_dirs:filelist;
mutabledisable_warnings:bool;
mutablemax_prec_digits:int;
mutablepath_rewrite:raw_file->file;
}
(** Global options, common to all subcommands (note: the fields are internally