summaryrefslogtreecommitdiffstats
path: root/src/error.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2024-06-26 15:24:40 -0500
committerToby Vincent <tobyv@tobyvin.dev>2024-06-27 14:13:49 -0500
commit712f381b1ba65d40e03e530b871e34a73dbb615d (patch)
treec98a1a692877c9b29c84824ded789d9235331542 /src/error.rs
parent07038dc2c3221336e60d31f2b2bd2590c30e3ec7 (diff)
feat: add color module
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs
new file mode 100644
index 0000000..26593f2
--- /dev/null
+++ b/src/error.rs
@@ -0,0 +1,22 @@
+pub type Result<T, E = Error> = std::result::Result<T, E>;
+
+#[derive(Debug, thiserror::Error)]
+pub enum Error {
+ #[error("IO error: {0}")]
+ IO(#[from] std::io::Error),
+
+ #[error("Join error: {0}")]
+ Join(#[from] tokio::task::JoinError),
+
+ #[error("Invalid color format: {0}")]
+ Color(String),
+
+ #[error("Send error: {0}")]
+ Send(String),
+}
+
+impl<T> From<tokio::sync::mpsc::error::SendError<T>> for Error {
+ fn from(err: tokio::sync::mpsc::error::SendError<T>) -> Self {
+ Self::Send(err.to_string())
+ }
+}