tfc_toolset_extras/
error.rs

1use thiserror::Error;
2
3/// A generic “error” type
4#[derive(Error, Debug)]
5pub enum ExtrasError {
6    /// Regex related errors
7    #[error(transparent)]
8    Regex(#[from] regex::Error),
9    /// Error parsing workspace name
10    #[error("Workspace name {0} contains invalid characters. Only alphanumeric, dashes, and underscores are allowed.")]
11    BadWorkspaceName(String),
12    /// Error parsing tag name
13    #[error("Tag name {0} contains invalid characters. Only alphanumeric, colons, dashes, and underscores are allowed.")]
14    BadTagName(String),
15    /// Error parsing workspaces file
16    #[error("Workspaces file is invalid. Each workspace entry must contain a name or ID.")]
17    InvalidWorkspacesFile,
18    /// Error from core library
19    #[error(transparent)]
20    ToolError(#[from] tfc_toolset::error::ToolError),
21}