5 个不稳定版本
0.3.1 | 2022年6月26日 |
---|---|
0.3.0 | 2022年6月21日 |
0.2.0 | 2022年6月19日 |
0.1.1 | 2022年6月19日 |
0.1.0 | 2022年6月19日 |
#15 in #dispatcher
22 每月下载量
25KB
686 代码行数,不包括注释
yogurt
酸奶是一个 Rust 命令库。
示例
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();
}
lib.rs
:
yogurt
酸奶是一个 Rust 命令库。
示例
use yogurt::argument::parser::IntArgument;
use yogurt::{Command, Dispatcher};
// Create a dispatcher
let dispatcher = Dispatcher::builder()
// command prefix, defaults to none
.prefix("/")
.base_context(())
// context factory, new context is created for every executed command
.context_factory(|_| ())
.child(
Command::literal("ping").child(
Command::argument("number", IntArgument, true).exec(|ctx| {
println!("{:?}", ctx);
Ok(())
})
)
)
.build()
// fails if no context factory provided
.unwrap();
// run command
dispatcher.run_command("/ping 3").unwrap();
依赖项
~1MB
~19K SLoC