pub mod create;
pub mod install;
pub mod play;
pub mod uninstall;
use clap::{Parser, Subcommand};
use std::path::PathBuf;
pub use create::create_glyph;
pub use install::install;
pub use play::play_glyph;
pub use uninstall::uninstall;
#[derive(Parser)]
#[command(author, version, about, long_about = None)]
#[command(name = "glyph")]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(required = false)]
pub input: Option<PathBuf>,
#[arg(short, long, default_value = "1")]
pub loops: u32,
}
#[derive(Subcommand)]
pub enum Commands {
Create {
#[arg(required = true)]
input: PathBuf,
#[arg(short, long)]
output: PathBuf,
#[arg(short, long, default_value = "100")]
duration: u32,
},
Install,
Uninstall,
}