9 releases (4 breaking)

0.5.0 Jun 1, 2024
0.4.3 May 27, 2024
0.4.1 Apr 7, 2024
0.3.0 Jan 25, 2024
0.1.2 Jun 7, 2023

#8 in #documented

Download history 1573/week @ 2024-08-31 1449/week @ 2024-09-07 1355/week @ 2024-09-14 1239/week @ 2024-09-21 1299/week @ 2024-09-28 1570/week @ 2024-10-05 1607/week @ 2024-10-12 1199/week @ 2024-10-19 1187/week @ 2024-10-26 1112/week @ 2024-11-02 1091/week @ 2024-11-09 1018/week @ 2024-11-16 545/week @ 2024-11-23 167/week @ 2024-11-30 156/week @ 2024-12-07 132/week @ 2024-12-14

1,150 downloads per month

MIT license

21KB
348 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

~215–650KB
~16K SLoC