5 releases
0.2.3 | Dec 10, 2019 |
---|---|
0.2.2-alpha.0 | Dec 9, 2019 |
0.2.0 | Dec 9, 2019 |
0.1.1 | Dec 9, 2019 |
0.1.0 | Dec 9, 2019 |
#674 in Command-line interface
4KB
Fire-rs
Use the attribute macro to convert a ordinary function into a command line application (aka cli
).
Inspired by Python-fire
Usage
use fire_rs::fire;
#[fire]
fn foo(a: i32, b: f64, c: String) {
println!("{} is {}", a as f64 + b, c);
}
fn main() {
foo_fire();
}
Run cargo run -- 1 2.1 cool
or cargo run -- a 1 --b 2.1 --c cool
,
the program will output 3.1 is cool
TODO
- Normal args
- Named args
- Doc
- Test
- Publish to
crates.io
- CI/CD
-
&str
problem -
unused_
warning - Default args
- Multiple functions
- Deal with errors
Dependencies
~3MB
~61K SLoC