1use clap::error::Error as ClapError;
2use settings_manager::result::Error as SettingsError;
3use std::io;
4use std::result::Result as StdResult;
5use thot_core::result::Error as CoreError;
6use thot_local::result::Error as LocalError;
7
8pub type Result<T = ()> = StdResult<T, Error>;
9
10#[derive(Debug)]
11pub enum Error {
12 ClapError(ClapError),
13 CoreError(CoreError),
14 IoError(io::Error),
15 LocalError(LocalError),
16 SettingsError(SettingsError),
17}
18
19impl From<ClapError> for Error {
20 fn from(err: ClapError) -> Self {
21 Error::ClapError(err)
22 }
23}
24
25impl From<CoreError> for Error {
26 fn from(err: CoreError) -> Self {
27 Error::CoreError(err)
28 }
29}
30
31impl From<io::Error> for Error {
32 fn from(err: io::Error) -> Self {
33 Error::IoError(err)
34 }
35}
36
37impl From<LocalError> for Error {
38 fn from(err: LocalError) -> Self {
39 Error::LocalError(err)
40 }
41}
42
43impl From<SettingsError> for Error {
44 fn from(err: SettingsError) -> Self {
45 Error::SettingsError(err)
46 }
47}
48
49#[cfg(test)]
50#[path = "./result_test.rs"]
51mod result_test;