mod commands;
mod config;
mod date_parser;
mod db;
mod model;
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "my-task", version, about = "Simple task manager")]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
Add(commands::add::AddArgs),
Close(commands::close::CloseArgs),
Done(commands::done::DoneArgs),
Edit(commands::edit::EditArgs),
#[command(alias = "ls")]
List(commands::list::ListArgs),
Notify(commands::notify::NotifyArgs),
Search(commands::search::SearchArgs),
Show(commands::show::ShowArgs),
}
fn main() {
let cli = Cli::parse();
match cli.command {
Commands::Add(args) => commands::add::run(args),
Commands::Close(args) => commands::close::run(args),
Commands::Done(args) => commands::done::run(args),
Commands::Edit(args) => commands::edit::run(args),
Commands::List(args) => commands::list::run(args),
Commands::Notify(args) => commands::notify::run(args),
Commands::Search(args) => commands::search::run(args),
Commands::Show(args) => commands::show::run(args),
}
}