use std::convert::TryFrom; use std::io::Write; use clap::ArgMatches; use crate::error; use crate::database::Database; use crate::config::Config; pub mod r#in; pub mod display; pub trait Command<'a> { type Args: TryFrom<&'a ArgMatches<'a>>; fn handle(args: Self::Args, db: &mut D, out: &mut W, config: &Config) -> error::Result<()>; }