opam-client

Client library for opam 2.1

`opam config` subcommand and their associated commands

val env : 'a OpamStateTypes.global_state -> OpamTypes.switch -> ?set_opamroot:bool -> ?set_opamswitch:bool -> csh:bool -> sexp:bool -> fish:bool -> inplace_path:bool -> unit

Display the current environment. Booleans csh, sexp and fish set an alternative output (unspecified if more than one is true, sh-style by default). inplace_path changes how the PATH variable is updated when there is already an opam entry: either at the same rank, or pushed in front.

val ensure_env : 'a OpamStateTypes.global_state -> OpamTypes.switch -> unit

Ensures that the environment file exists in the given switch, regenerating it, if necessary.

val print_eval_env : csh:bool -> sexp:bool -> fish:bool -> OpamTypes.env -> unit

Like env but allows one to specify the precise env to print rather than compute it from a switch state

val list : 'a OpamStateTypes.switch_state -> OpamTypes.name list -> unit

Display the content of all available packages variables

val subst : 'a OpamStateTypes.global_state -> OpamTypes.basename list -> unit

Substitute files

val expand : 'a OpamStateTypes.global_state -> string -> unit

Prints expansion of variables in string

val exec : [< OpamStateTypes.unlocked ] OpamStateTypes.global_state -> set_opamroot:bool -> set_opamswitch:bool -> inplace_path:bool -> string list -> unit

Execute a command in a subshell, after variable expansion

Variables and options display and setting

Functions handling `opam var` and `opam option` command

val get_scope : string -> [> `Switch | `Global | `None of string ]

Given an `opam option` field or field-value argument, detect the scope, switch, global or nonexistent field (cf. OpamCommands.Var_Option_Common.var_option)

Setting variables and options

type whole_op = [
| `Overwrite of string
| `Revert
]

Update operation type

type append_op = [
| `Add of string
| `Remove of string
]
type update_op = [
| append_op
| whole_op
]
val parse_update : string -> string * update_op

Parse an update operation. String is of the form var[(+=|-=|=)[value]]. If 'value' is absent, it is a revert operation. Raise Invalid_argument if the string is malformed

val parse_whole : string -> string * whole_op

As parse_update but parse only overwrites and reverts. String is of the form var=[value]`. Raise Invalid_argument if the string is malformed

val whole_of_update_op : update_op -> whole_op

set_opt_global gt field value updates global config field with update value in <opamroot>/config file. Modifiable fields are a subset of all defined fields in OpamFile.Config.t. On revert, field is reverted to its initial value as defined in OpamInitDefaults.init_config, to default value otherwise (OpamFile.Config.empty). May raise OpamStd.Sys.Exit 2.

As set_opt_global, set_opt_switch updates switch config file in <opamroot>/<switch>/.opam-switch/switch-config. If switch state is given, uses its config and returns it with then new config. Otherwise, loads the raw switch state and returns None.

set_var_global and set_var_switch update respectively `global-variables` field in global config and `variables` field in switch config, by appending the new variables to current set. If switch state is given, uses its config and returns it with then new config. Otherwise, loads the raw switch state and returns None. May raise OpamStd.Sys.Exit 2.

Display list of variables and options

List switch and/or global fields/sections and their value. If switch state is given, uses its config, otherwise loads the raw switch state.

val options_list_global : 'a OpamStateTypes.global_state -> unit

List switch and/or global variables and their value. If switch state is given, uses its config, otherwise loads the raw switch state.

val vars_list : ?st:'a OpamStateTypes.switch_state -> 'b OpamStateTypes.global_state -> unit
val vars_list_global : 'a OpamStateTypes.global_state -> unit
val vars_list_switch : ?st:'a OpamStateTypes.switch_state -> 'b OpamStateTypes.global_state -> unit

Display a variable and option

Display field name and content in the global / switch configuration. If switch state is given, uses its config, otherwise loads the raw switch state.

val option_show_global : 'a OpamStateTypes.global_state -> string -> unit
val option_show_switch : 'a OpamStateTypes.global_state -> ?st:OpamStateTypes.unlocked OpamStateTypes.switch_state -> string -> unit

Display var name and content in the global / switch configuration. Look first in the raw switch_state, if not found, uses the given switch state or loads one.

val var_show_global : 'a OpamStateTypes.global_state -> string -> unit
val var_show_switch : 'a OpamStateTypes.global_state -> ?st:'b OpamStateTypes.switch_state -> string -> unit
val var_show : 'a OpamStateTypes.global_state -> string -> unit