Keys
module Key : sig ... endMetadata keys
Bindings
val pp_binding : binding B00_std.Fmt.tpp_binding formats a binding using B00_std.Fmt.field and the key's value print function.
The type for sugared lists of bindings. Just because we can.
Metadata
v bs is metadata with bindings vs. If a key is defined more than once in bs the last definition in the list takes over.
val empty : tempty is the empty metadata.
val is_empty : t -> boolis_empty m is true iff m is empty.
find_binding k m is the binding for k in m (if any).
find_binding_by_name n m is the binding named n in m (if any).
get k m is the binding of k in m. Raises Invalid_argument if there is no such binding.
find_binding k m is the binding for k in m. Raises Invalid_argument if there is no such binding.
get_binding_by_name n m is the binding named n in m. Raises Invalid_argument if there is no such binding.
fold f m acc folds f over the bindings of m starting with acc.
Formatting
val pp : t B00_std.Fmt.tpp formats metadata using pp_bindings.
val pp_non_empty : t B00_std.Fmt.tpp_non_empty is Fmt.cut followed by pp if metadata is non empty and Fmt.nop otherwise.
Standard keys
End-user information
val authors : string list keyauthors describes a list of persons with authorship.
val doc_tags : string list keydoc_tags describes a list of documentation classification tags.
val homepage : string keyissues is an URI to an issue tracker.
val issues : string keyissues is an URI to an issue tracker.
val licenses : string list keylicenses describes a list of licenses. Each license should be a SPDX license identifier.
val maintainers : string list keymaintainers describe a list of persons with maintainership.
val online_doc : string keyonline_doc is an URI to online documentation.
val repo : string keyrepo is an URI to a VCS system.
Entity tags
val bench : unit keybench tags benchmarking entities.
val build : unit keybuild tags build system entities.
val dev : unit keydev tags development entities.
val doc : unit keydoc tags documentation entities.
val exe : unit keyexe tags executable entities.
val test : unit keytest tags testing entities.
val lib : unit keylib tags library entities.
Entity properties
val exe_name : string keyexe_name is an executable name without the platform specific executable extension.