Crates.io | yogurt |
lib.rs | yogurt |
version | 0.3.1 |
source | src |
created_at | 2022-06-19 08:39:15.882312 |
updated_at | 2022-06-26 09:01:38.929338 |
description | A simple command system |
homepage | |
repository | https://github.com/Treesoid/yogurt |
max_upload_size | |
id | 608864 |
size | 27,745 |
Yogurt is a rust command library.
Example:
use yogurt::argument::parser::IntArgument;
use yogurt::{Command, Dispatcher};
fn main() {
// Create a dispatcher
let dispatcher = Dispatcher::builder()
// command prefix, defaults to none
.prefix("/")
// context factory, new context is created for every executed command
.context(Box::new(|| ()))
.child(
Command::literal("ping").child(
Command::argument("number", IntArgument, true).exec(Box::new(|ctx| {
println!("{:?}", ctx);
Ok(())
}))
)
)
.build()
// fails if no context factory provided
.unwrap();
// run command
dispatcher.run_command("/ping 3").unwrap();
}