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

#544 in Command-line interface

MIT license

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

~1.5MB
~38K SLoC