use anyhow;
use clap::{Args, Subcommand};
use crate::commands::cli_context::CliContext;
mod fasta;
mod genbank;
mod gfa;
#[derive(Debug, Args, Clone)]
pub struct Command {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Clone, Debug, Subcommand)]
pub enum Commands {
Fasta(fasta::Command),
Genbank(genbank::Command),
Gfa(gfa::Command),
}
pub fn execute(ctx: &CliContext, command: Command) -> anyhow::Result<()> {
match command.command {
Commands::Fasta(cmd) => crate::commands::export::fasta::execute(ctx, cmd),
Commands::Genbank(cmd) => crate::commands::export::genbank::execute(ctx, cmd),
Commands::Gfa(cmd) => crate::commands::export::gfa::execute(ctx, cmd),
}
}