Module Jenga_lib.Var

A table of registered environment variables, with typed access

type 'a t

Var.t is a typed environment variable

include sig ... end
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.t

It is an error to register a name more than once, unless it has been unregistered by unregister name or clear_all_registrations

val register : ?⁠choices:string list ‑> string ‑> string option t
val register_with_default : ?⁠choices:string list ‑> string ‑> default:string ‑> string t
val clear_all_registrations : unit ‑> unit

Clears the set of known vars, but if variable by the same name are recreated later, the relevant setenv will still be in effect.

val unregister : string ‑> unit
val registered_names : unit ‑> string list
val is_registered : string ‑> bool
module Info : sig ... end
val change_to_peeked_var : unit Tenacious.t
val all_registered : unit ‑> Info.t list
val peek : ?⁠dont_trigger:unit ‑> 'a t ‑> 'a
val watch : 'a t ‑> 'a Core.Or_error.t Tenacious.t
val map : 'a t ‑> f:('a ‑> 'b) ‑> 'b t
module Getenv : sig ... end
module Setenv : sig ... end