use haz_domain::name::NameError;
use haz_domain::path::PathPatternError;
use haz_query_lang::span::Span;
use snafu::Snafu;
#[derive(Debug, Clone, PartialEq, Eq, Snafu)]
pub enum AtomError {
#[snafu(display("invalid tag name at {span}: {source}"))]
InvalidTagName {
span: Span,
source: NameError,
},
#[snafu(display("invalid project name at {span}: {source}"))]
InvalidProjectName {
span: Span,
source: NameError,
},
#[snafu(display("invalid task name at {span}: {source}"))]
InvalidTaskName {
span: Span,
source: NameError,
},
#[snafu(display("invalid path pattern at {span}: {source}"))]
InvalidPathPattern {
span: Span,
source: PathPatternError,
},
#[snafu(display("relational atom at {span} is missing the `:` separator"))]
MissingRelationalColon {
span: Span,
},
#[snafu(display(
"unknown relational kind '{kind}' at {span}; expected one of name, project, tag"
))]
UnknownRelationalKind {
span: Span,
kind: String,
},
}