Skip to content
This repository was archived by the owner on Oct 11, 2025. It is now read-only.

v1.0.0

Choose a tag to compare

@Egevtech Egevtech released this 30 Jul 16:28
· 17 commits to main since this release

#ArgSys V1.0.0

Now library uses ArgHandler struct&implementation and triggers for work with arguments almost automatically.

Here's example:

use argsys::*;

use std::env;

fn helper(_: Vec<String>)
{
    println!("testargsys help command was called");
}

fn printer(data: Vec<String>)
{
    println!("testargsys print command was called with arguments: {}, {}", data[0].clone(), data[1].clone());
}

fn main() {
    let help_t: Template = build_template("--help", Some("-h"), "displays help", 0);
    let print_t: Template = build_template("--print", None, "Prints something", 2);

    let mut arg_handler: ArgHandler = ArgHandler::default();

    arg_handler.init(env::args().collect(), false);

    arg_handler.add_template(help_t.clone());
    arg_handler.add_template(print_t.clone());

    arg_handler.add_trigger(help_t.clone(), helper);
    arg_handler.add_trigger(print_t.clone(), printer);

    arg_handler.run();
}