Keys
module Key : sig ... end
Metadata keys
Bindings
val pp_binding : binding B00_std.Fmt.t
pp_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 : t
empty
is the empty metadata.
val is_empty : t -> bool
is_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.t
pp
formats metadata using pp_bindings
.
val pp_non_empty : t B00_std.Fmt.t
pp_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 key
authors
describes a list of persons with authorship.
val doc_tags : string list key
doc_tags
describes a list of documentation classification tags.
val homepage : string key
issues
is an URI to an issue tracker.
val issues : string key
issues
is an URI to an issue tracker.
val licenses : string list key
licenses
describes a list of licenses. Each license should be a SPDX license identifier.
val maintainers : string list key
maintainers
describe a list of persons with maintainership.
val online_doc : string key
online_doc
is an URI to online documentation.
val repo : string key
repo
is an URI to a VCS system.
Entity tags
val bench : unit key
bench
tags benchmarking entities.
val build : unit key
build
tags build system entities.
val dev : unit key
dev
tags development entities.
val doc : unit key
doc
tags documentation entities.
val exe : unit key
exe
tags executable entities.
val test : unit key
test
tags testing entities.
val lib : unit key
lib
tags library entities.
Entity properties
val exe_name : string key
exe_name
is an executable name without the platform specific executable extension.