Module Coq.Workspace

module Flags : sig ... end
module Warning : sig ... end
module Require : sig ... end
type t = private {
  1. coqlib : string;
    (*

    Path to coqlib

    *)
  2. findlib_config : string option;
    (*

    Path to findlib config file, if None, default

    *)
  3. ocamlpath : string list;
    (*

    extra ocamlpath paths, for example for local plugins

    *)
  4. vo_load_path : Loadpath.vo_path list;
    (*

    List of -R / -Q flags passed to Coq, usually theories we depend on

    *)
  5. require_libs : Require.t list;
    (*

    Modules to preload, usually Coq.Init.Prelude

    *)
  6. flags : Flags.t;
    (*

    Coq-specific flags

    *)
  7. warnings : Warning.t list;
  8. kind : string;
    (*

    How the workspace was built

    *)
  9. debug : bool;
    (*

    Enable backtraces

    *)
}
val inject_requires : extra_requires:Require.t list -> t -> t

Inject some requires

val compare : t -> t -> int

compare

val hash : t -> int

hash

val describe : t -> string * string

describe w return user, extra, where user is the relevant user message, and extra contains lower-level debug data such as all findlib packages in scope, etc... data

val describe_guess : (t, string) Result.t -> string * string
module CmdLine : sig ... end
val guess : token:Limits.Token.t -> debug:bool -> cmdline:CmdLine.t -> dir:string -> (t, string) Result.t
val default : debug:bool -> cmdline:CmdLine.t -> t
val apply : intern:unit -> uri:Lang.LUri.File.t -> t -> unit

apply libname w will prepare Coq for a new file libname on workspace w

val dirpath_of_uri : uri:Lang.LUri.File.t -> Names.DirPath.t