use crate::err::Error;
use async_trait::async_trait;
use clap::{ArgMatches, Command as ClapCommand};
#[async_trait]
pub trait Command {
fn usage() -> ClapCommand;
async fn handler(m: &ArgMatches) -> Result<(), Error>;
}
mod completions;
mod data;
mod edit;
mod exec;
mod list;
mod pick;
mod stat;
mod test;
pub use completions::{completion_handler, CompletionCommand};
pub use data::DataCommand;
pub use edit::EditCommand;
pub use exec::ExecCommand;
pub use list::ListCommand;
pub use pick::PickCommand;
pub use stat::StatCommand;
pub use test::TestCommand;