pluribus 0.2.0

Small crate providing a macro to create multicall binaries declaratively.
Documentation
extern crate pluribus;

use pluribus::pluribus;
// Declaring a binary 'greet'.
mod greet {
    // Start is our start symbol!
    pub fn start(args: &[String]) {
        for s in &args[1..] {
            println!("Greetings, {s}!");
        }
    }
}

// Declaring a binary 'bye'
mod bye {
    // Start is our start symbol!
    pub fn start(args: &[String]) {
        for s in &args[1..] {
            println!("Goodbye, {s}!");
        }
    }
}

fn main() -> std::io::Result<()> {
    // symbol: <our function that starts a binary, defaulting to main>;
    // returning: <return type of the binaries>;
    // with: <list of all modules we wish to turn into binaries>
    pluribus!(
        symbol: start;
        returns: ();
        with:
        - greet;
        #[cfg(target_family = "unix")]
        - bye;
    )
    // you don't need to skip on your projects.
    (&std::env::args().skip(1).collect::<Vec<_>>());
    Ok(())
}