use std::process::ExitCode;
use clap::{Args, Subcommand};
use crate::config::ResolvedContext;
use crate::output::OutputFormat;
pub mod client;
pub mod forecast;
pub mod models;
pub mod summary;
#[derive(Args)]
pub struct CostArgs {
#[command(subcommand)]
pub command: CostCommands,
}
#[derive(Subcommand)]
pub enum CostCommands {
Summary(summary::SummaryArgs),
Forecast(forecast::ForecastArgs),
}
pub fn dispatch(args: CostArgs, ctx: &ResolvedContext, output: OutputFormat) -> ExitCode {
match args.command {
CostCommands::Summary(summary_args) => summary::run(summary_args, ctx, output),
CostCommands::Forecast(forecast_args) => forecast::run(forecast_args, ctx, output),
}
}