package dune-private-libs

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

Management of syntaxes

module Version : sig ... end
type t
module Error : sig ... end
module Warning : sig ... end
val create : ?experimental:bool -> name:string -> desc:string -> (Version.t * [ `Since of Version.t ]) list -> t

create ~name ~desc supported_versions defines a new syntax. supported_version is the list of all the supported versions paired with the versions of the dune lang in which they where introduced. desc is used to describe what this syntax represent in error messages.

val name : t -> string

Return the name of the syntax.

val check_supported : dune_lang_ver:Version.t -> t -> (Stdune.Loc.t * Version.t) -> unit

Check that the given version is supported and raise otherwise.

val greatest_supported_version : t -> Version.t
val greatest_supported_version_for_dune_lang : t -> dune_lang_ver:Version.t -> Version.t option

S-expression parsing

High-level functions

val deleted_in : ?extra_info:string -> t -> Version.t -> (unit, _) Decoder.parser

Indicate the field/constructor being parsed was deleted in the given version

val deprecated_in : ?extra_info:string -> t -> Version.t -> (unit, _) Decoder.parser

Indicate the field/constructor being parsed was deprecated in the given version

val renamed_in : t -> Version.t -> to_:string -> (unit, _) Decoder.parser

Indicate the field/constructor being parsed was renamed in the given version

val since : ?fatal:bool -> t -> Version.t -> (unit, _) Decoder.parser

Indicate the field/constructor being parsed was introduced in the given version. When fatal is false, simply emit a warning instead of error. fatal defaults to true.

Low-level functions

module Key : sig ... end
val set : t -> Key.t -> ('a, 'k) Decoder.parser -> ('a, 'k) Decoder.parser
val get_exn : t -> (Version.t, 'k) Decoder.parser
val experimental : t -> bool