48 lines
880 B
OCaml
48 lines
880 B
OCaml
(** Workspaces definitions *)
|
|
|
|
open! Import
|
|
|
|
module Context : sig
|
|
module Target : sig
|
|
type t =
|
|
| Native
|
|
| Named of string
|
|
end
|
|
module Opam : sig
|
|
type t =
|
|
{ loc : Loc.t
|
|
; name : string
|
|
; profile : string
|
|
; switch : string
|
|
; root : string option
|
|
; merlin : bool
|
|
; targets : Target.t list
|
|
}
|
|
end
|
|
|
|
module Default : sig
|
|
type t =
|
|
{ loc : Loc.t
|
|
; profile : string
|
|
; targets : Target.t list
|
|
}
|
|
end
|
|
|
|
type t = Default of Default.t | Opam of Opam.t
|
|
|
|
val name : t -> string
|
|
end
|
|
|
|
type t =
|
|
{ merlin_context : string option
|
|
; contexts : Context.t list
|
|
}
|
|
|
|
val load : ?x:string -> ?profile:string -> Path.t -> t
|
|
|
|
(** Default name of workspace files *)
|
|
val filename : string
|
|
|
|
(** Default configuration *)
|
|
val default : ?x:string -> ?profile:string -> unit -> t
|