manatsu 0.7.5

CLI tools for Manatsu
#![allow(clippy::must_use_candidate)]

mod command;
pub(crate) mod prelude;
pub(crate) mod project;
pub(crate) mod theme;

use clap::Parser;
use command::Command;
use prelude::*;

#[derive(Debug, Parser)]
#[command(name = "manatsu")]
#[command(version, about, long_about = None)]
enum Cli {
  /// Easily create a new project.
  Create(command::Create),
  /// Create a Manatsu theme from tokens generated by the Material Design theme builder.
  Theme(command::Theme),
  /// Update Tailwind configuration files.
  Tailwind,
}

#[tokio::main]
async fn main() -> Result<()> {
  let cli = Cli::parse();

  match cli {
    Cli::Create(cmd) => cmd.execute().await,
    Cli::Theme(cmd) => cmd.execute().await,
    Cli::Tailwind => command::tailwind().await,
  }
}