6 releases (stable)
1.3.0 | Jul 8, 2023 |
---|---|
1.1.2 | Jun 17, 2023 |
1.0.0 | Jun 17, 2023 |
0.1.0 | Jun 17, 2023 |
#1860 in Development tools
18KB
282 lines
Turn a struct into arguments for a Command.
use argley::prelude::*;
#[derive(Args)]
struct Args<'a> {
compress: bool,
#[arg(rename = "dir")]
output_dir: &'a Path,
#[arg(variadic)]
input_files: Vec<&'a Path>,
}
let args = Args {
compress: true,
output_dir: Path::new("./output"),
input_files: vec![Path::new("./foo.txt"), Path::new("./bar.txt")],
};
let output = Command::new("some-application")
.add_arg_set(&args)
.output()
.unwrap();
Support for async-std and tokio can be enabled via their respective features.
See crate-level docs for detailed configuration options.
Dependencies
~0–10MB
~110K SLoC