module Version : sig ... end
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.
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 key : t -> Key.t Stdune.Univ_map.Key.t
val get_exn : t -> (Version.t, 'k) Decoder.parser
val experimental : t -> bool