Skip to main content

dot/
error.rs

1use std::{io, path::PathBuf};
2
3#[derive(Debug, thiserror::Error)]
4pub enum Error {
5    #[error("I/O error: {0}")]
6    Io(#[from] io::Error),
7    #[error("Failed to parse manifest: {0}")]
8    TomlParse(#[from] toml::de::Error),
9    #[error("Failed to serialize manifest: {0}")]
10    TomlSerialize(#[from] toml::ser::Error),
11    #[error("{0} not found")]
12    NotFound(PathBuf),
13    #[error("{0} already exists")]
14    AlreadyExists(PathBuf),
15    #[error("{0} is already tracked")]
16    AlreadyTracked(PathBuf),
17    #[error("Cannot determine home directory")]
18    NoHomeDir,
19    #[error("Expected {0} to be a symlink")]
20    NotASymlink(PathBuf),
21}
22
23pub type Result<T> = std::result::Result<T, Error>;