Sing
Std
I/o
Negotiator
Generator
What is sing?
This crate is meant to create interfaces between traits in Rust libraries and the command line. It does this by providing two macros:
sing_add_trait, which acts as an attribute to a trait implementation and gathers the method signatures that are used bysing_loop!.sing_loop!, which takes a trait object and serialization/deserialization functions as well as some optional parameters. It generates a loop parsing function calls coming from STDIN (or any otherBufReadstream), evaluating them by calling the appropriate method on the object and returning them on STDOUT (or any otherWritestream).
Usage example
use ;
use ;
;
Negotiator? Really?
Yes, it's somewhat far-fetched, but I really wanted to be able to sing and clap in my rusty command-line projects.
Why the name?
See above.