rumos 0.0.5

CLI utility for controlling screen brightness
pub mod main_mod {
    use crate::args::{Cli, Commands};
    use crate::funcs::control_funcs;
    use brightness::Brightness;
    use clap::Parser;
    use futures::TryStreamExt;

    pub async fn main_launch() -> Result<(), brightness::Error> {
        let cli = Cli::parse();
        match &cli.command {
            Commands::Get => {
                control_funcs::print_brightness_lelel(cli).await?;
            }
            Commands::Set(args) => {
                control_funcs::set_brightness(args).await?;
                control_funcs::print_brightness_lelel(cli).await?;
            }
            Commands::Inc(args) => {
                control_funcs::increase_or_decrease_brightness(args, "inc").await?;
                control_funcs::print_brightness_lelel(cli).await?;
            }
            Commands::Dec(args) => {
                control_funcs::increase_or_decrease_brightness(args, "dec").await?;
                control_funcs::print_brightness_lelel(cli).await?;
            }
            Commands::Max => {
                let _ = brightness::brightness_devices()
                    .try_for_each(|mut dev| async move {
                        let _ = dev.set(100).await?;
                        Ok(())
                    })
                    .await;
                control_funcs::print_brightness_lelel(cli).await?;
            }
            Commands::Min => {
                brightness::brightness_devices()
                    .try_for_each(|mut dev| async move {
                        dev.set(5).await?;
                        Ok(())
                    })
                    .await?;
                control_funcs::print_brightness_lelel(cli).await?;
            }
        }
        Ok(())
    }
}