use std::path::PathBuf;
use thiserror::Error;
use crate::domain::{process::ProcessKind, value::ProcessName};
#[derive(Debug, Error)]
pub enum ConfigError {
#[error("could not read config file {path}: {source}")]
Read {
path: PathBuf,
source: std::io::Error,
},
#[error("could not write config file {path}: {source}")]
Write {
path: PathBuf,
source: std::io::Error,
},
#[error("no config directory is available")]
NoConfigDir,
#[error("could not parse config: {0}")]
Parse(#[from] serde_yaml_ng::Error),
#[error("{kind} process '{name}' configures stop, which is only valid for commands")]
InvalidStopPolicy {
kind: ProcessKind,
name: ProcessName,
},
}