cmd_lib 0.11.6

Common rust commandline macros and utils, to write shell script like tasks easily
Documentation
use cmd_lib::{
    export_cmd, run_cmd, run_fun, use_builtin_cmd, use_custom_cmd, CmdArgs, CmdEnvs, CmdResult,
    FunResult,
};

#[export_cmd(my_cmd)]
fn foo(args: CmdArgs, _envs: CmdEnvs) -> FunResult {
    eprintln!("msg from foo(), args: {:?}", args);
    Ok("bar".into())
}

#[export_cmd(my_cmd2)]
fn foo2(args: CmdArgs, _envs: CmdEnvs) -> FunResult {
    eprintln!("msg from foo2(), args: {:?}", args);
    Ok("bar2".into())
}

fn main() -> CmdResult {
    cmd_lib::set_debug(true);
    use_builtin_cmd!(echo, true);
    use_custom_cmd!(my_cmd, my_cmd2);
    run_cmd!(echo "from" "builtin")?;
    run_cmd!(my_cmd arg1 arg2)?;
    run_cmd!(my_cmd2)?;
    println!("get result: {}", run_fun!(my_cmd)?);
    Ok(())
}