The simplistic, dependency-free cli library ✨
The simplistic, dependency-free cli library ✨
This branch represents the unpublished rewrite version of climake with many advantages compared to the original version which is no longer developed upon!
Demo of a simple package manager:
use climake::prelude::*;fn main() { let package = Argument::new( "The package name", vec!['p', 'i'], vec!["pkg, package"], Input::Text, );
let add = Subcommand::new("add", vec![&package], vec![], "Adds a package"); let rem = Subcommand::new("rem", vec![&package], vec![], "Removes a package"); let cli = CliMake::new( "MyPkg", vec![], vec![&add, &rem], "A simple package manager demo", "1.0.0", ); let parsed = cli.parse(); for subcommand in parsed.subcommands { if subcommand.inner == &add { println!("Adding package {:?}..", subcommand.arguments[0]); } else if subcommand.inner == &rem { println!("Removing package {:?}..", subcommand.arguments[0]); } }
}
Simply add the following to your
Cargo.tomlfile:
[dependencies] climake = "3.0.0-pre.1" # rewrite isn't out just yet!
This library is duel-licensed under both the MIT License (
LICENSE-MIT) and Apache 2.0 License (
LICENSE-APACHE), you may choose at your discretion.