1use srctrait_common_chronox::DateTimeFormat;
2use thiserror;
3use crate::*;
4
5#[derive(Debug, thiserror::Error)]
6pub enum Error {
7 #[error("{0}")]
8 Io(String, #[source] std::io::Error),
9 #[error("{0}")]
10 ParseToml(String, #[source] toml::de::Error),
11 #[error("{0}")]
12 Exec(String, #[source] std::io::Error),
13 #[error("{0} :: {1}")]
14 Cmd(String, String),
15 #[error("Unable to parse date: {0}")]
16 Date(String),
17 #[error("No daily notes for: {}", .0.display(DateTimeFormat::YmdDash))]
18 NoDayNotes(Date),
19 #[error("{0}")]
20 InvalidNote(String)
21}
22
23pub type Result<T> = std::result::Result<T, Error>;