package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

New, untyped, path-based configuration subsystem.

  path' ::== \epsilon              (*  *)
           | . <field-name> path'  (* field access *)
           | [ <index-nr> ] path'  (* array index access *)
           | [ + ] path'           (* cons to array *)
           | [ - ] path'           (* cons away from array *)
           | [ * ] path'           (* reset array *)

  path ::==              path'     (*  *)
          | <field_name> path'     (* you can leave out the first dot *)

All functions failwith on error. Warnings are generated in verbose mode.

There is a "conf" trace option that traces setting.

exception ConfigError of string
val building_spec : bool Prelude.ref
module Validator : sig ... end
module ValidatorRequireAll : sig ... end
module type S = sig ... end

The type for gobConfig module.

module Impl : S

The implementation of the gobConfig module.

include module type of struct include Impl end

The implementation of the gobConfig module.

val get_json : string -> Yojson.Safe.t
val get_int : string -> int

Functions to query conf variable of type int.

val set_int : string -> int -> unit

Functions to modify conf variables of type int.

val get_bool : string -> bool

Functions to query conf variable of type bool.

val set_bool : string -> bool -> unit

Functions to modify conf variables of type bool.

val get_string : string -> string

Functions to query conf variable of type string.

val set_string : string -> string -> unit

Functions to modify conf variables of type string.

val set_auto : string -> string -> unit

Functions to modify conf variables by trying to parse the value. The second argument must be valid Json except single quotes represent double quotes.

val get_list : string -> Yojson.Safe.t list

Get a list of values

val get_string_list : string -> string list

Get a list of strings

val set_list : string -> Yojson.Safe.t list -> unit

Set a list of values

val write_file : Fpath.t -> unit

Write the current configuration to filename

val merge_file : Fpath.t -> unit

Merge configurations from a file with current.

val merge : Yojson.Safe.t -> unit

Merge configurations from a JSON object with current.

val json_conf : Yojson.Safe.t Prelude.ref