config-docs

Crates.ioconfig-docs
lib.rsconfig-docs
version0.1.0
sourcesrc
created_at2024-11-25 17:24:09.552419
updated_at2024-11-25 17:24:09.552419
descriptionA trait and derive macro to generate documentation for your structs
homepage
repository
max_upload_size
id1460513
size7,021
Cedric Lehr (Ceedrich)

documentation

README

Config Docs

This crate adds a trait with a derive macro to create a documentation for your struct in code. This is useful for things like configuration objects that should be documented in your app.

Disclaimer

This project came into place for a small project I'm working on and is in no means perfect. If you have any suggestions, please consider contributing on Github

Usage Example

use config_docs::ConfigDocs;

#[derive(ConfigDocs)]
struct Config {
    /// Holds the colors for your app
    colors: ColorConfig,
    /// Holds the keybinds for your app
    keybinds: KeybindConfig,
}

#[derive(ConfigDocs)]
struct ColorConfig {
    /// The foreground color for your app as a hex value
    fg: String,
    /// The background color for your app as a hex value
    bg: String,
}

#[derive(ConfigDocs)]
struct KeybindConfig {
    /// Show the help inside your app
    help: String,
    /// Quit your app
    quit: String
}

assert_eq!(Config::config_docs(), &[
    ("colors", "Holds the colors for your app"),
    ("fg", "The foreground color for your app as a hex value"),
    ("bg", "The background color for your app as a hex value"),
    ("keybinds", "Holds the keybinds for your app"),
    ("help", "Show the help inside your app"),
    ("quit", "Quit your app")
])
Commit count: 0

cargo fmt