Crate entrypoint_macros

Source
Expand description

macro(s) to improve entrypoint ergonomics

This crate should not be imported directly, but rather accessed through the macros feature of entrypoint.

§Examples

use entrypoint::prelude::*;

#[derive(clap::Parser, DotEnvDefault, LoggerDefault, Debug)]
struct Args {}

// this function replaces `main()`
#[entrypoint::entrypoint]
fn main(args: Args) -> entrypoint::anyhow::Result<()> {
    info!("entrypoint input args: {:#?}", args);
    Ok(())
}

Attribute Macros§

entrypoint
marks function as entrypoint function (i.e. the main() replacement)

Derive Macros§

DotEnvDefault
derive default impl(s) for entrypoint::DotEnvParserConfig
LoggerDefault
derive default impl(s) for entrypoint::LoggerConfig