14 releases (8 breaking)
0.9.1 | Nov 4, 2024 |
---|---|
0.7.1 | Oct 16, 2024 |
0.5.0 | Jun 1, 2024 |
0.3.0 | Jan 25, 2024 |
0.1.2 | Jun 7, 2023 |
#340 in Rust patterns
31,083 downloads per month
Used in 11 crates
(5 directly)
15KB
130 lines
documented
Derive and attribute macros for accessing your type's documentation at runtime
Quick start
use documented::{Documented, DocumentedFields, DocumentedVariants};
/// Trying is the first step to failure.
#[derive(Documented, DocumentedFields, DocumentedVariants)]
enum AlwaysPlay {
/// And Kb8.
#[allow(dead_code)]
Kb1,
/// But only if you are white.
F6,
}
// Documented
assert_eq!(AlwaysPlay::DOCS, "Trying is the first step to failure.");
// DocumentedFields
assert_eq!(
AlwaysPlay::FIELD_DOCS,
["And Kb8.", "But only if you are white."]
);
assert_eq!(AlwaysPlay::get_field_docs("Kb1"), Ok("And Kb8."));
// DocumentedVariants
assert_eq!(
AlwaysPlay::F6.get_variant_docs(),
"But only if you are white."
);
Dependencies
~1–1.6MB
~30K SLoC