2022-04-02 15:19:48 +00:00
|
|
|
use clap::Parser;
|
|
|
|
use rand::rngs::OsRng;
|
2022-04-02 15:20:52 +00:00
|
|
|
use crate::char::CharSampler;
|
2022-04-02 15:25:35 +00:00
|
|
|
use crate::fill::FillModeEnum;
|
2022-04-02 15:19:48 +00:00
|
|
|
use crate::pallet::{choose_pallet, create_pallet, PalletEnum};
|
|
|
|
|
|
|
|
mod pallet;
|
2022-04-02 15:20:52 +00:00
|
|
|
mod char;
|
2022-04-02 15:25:35 +00:00
|
|
|
mod fill;
|
|
|
|
mod vec;
|
2022-04-02 15:19:48 +00:00
|
|
|
|
|
|
|
#[derive(Parser)]
|
|
|
|
#[clap(author = "Rico Riedel", version = "0.1.0", about = "Wipe your terminal with a random animation.")]
|
|
|
|
struct Args {
|
2022-04-02 15:25:35 +00:00
|
|
|
#[clap(short, long, help = "Add fill mode", arg_enum)]
|
|
|
|
fill: Vec<FillModeEnum>,
|
2022-04-02 15:19:48 +00:00
|
|
|
#[clap(short, long, help = "Add color pallet", arg_enum)]
|
|
|
|
pallet: Vec<PalletEnum>,
|
2022-04-02 15:20:52 +00:00
|
|
|
#[clap(long, default_value = ".-+%#", help = "Set chars")]
|
|
|
|
chars: String
|
2022-04-02 15:19:48 +00:00
|
|
|
}
|
|
|
|
|
2022-04-02 15:05:49 +00:00
|
|
|
fn main() {
|
2022-04-02 15:19:48 +00:00
|
|
|
let args = Args::parse();
|
|
|
|
let rng = &mut OsRng::default();
|
|
|
|
|
2022-04-02 15:20:52 +00:00
|
|
|
let chars = CharSampler::new(args.chars);
|
|
|
|
|
2022-04-02 15:19:48 +00:00
|
|
|
let pallet_key = choose_pallet(args.pallet, rng);
|
|
|
|
let pallet = create_pallet(pallet_key);
|
2022-04-02 15:05:49 +00:00
|
|
|
}
|