tiempo-rs/src/commands.rs

23 lines
472 B
Rust
Raw Normal View History

2021-06-18 11:27:19 -05:00
use std::convert::TryFrom;
use std::io::Write;
use clap::ArgMatches;
use crate::error::Result;
use crate::database::Database;
2021-06-21 17:38:51 -05:00
use crate::config::Config;
2021-06-18 11:27:19 -05:00
pub mod r#in;
pub mod display;
2021-07-06 22:52:20 -05:00
pub mod today;
2021-07-07 11:58:13 -05:00
pub mod yesterday;
2021-07-01 23:44:38 -05:00
pub mod sheet;
2021-07-07 13:44:19 -05:00
pub mod week;
2021-07-07 13:52:40 -05:00
pub mod month;
2021-06-18 11:27:19 -05:00
pub trait Command<'a> {
type Args: TryFrom<&'a ArgMatches<'a>>;
2021-07-06 22:52:20 -05:00
fn handle<D: Database, O: Write, E: Write>(args: Self::Args, db: &mut D, out: &mut O, err: &mut E, config: &Config) -> Result<()>;
}