1use miette::SourceSpan;
2
3#[derive(Debug)]
4#[derive(miette::Diagnostic)]
5#[derive(thiserror::Error)]
6pub enum NameError {
7 #[error("Name can only contain A..Z, a..z, 0..9 or _")]
8 Alphanumeric {
9 #[label]
10 name: SourceSpan,
11 },
12 #[error("Name is empty")]
13 Empty {
14 #[label]
15 name: SourceSpan,
16 },
17 #[error("Name must start with a..z or _")]
18 StartLowercase {
19 #[label]
20 name: SourceSpan,
21 },
22 #[error("Name must start with A..Z or _")]
23 StartUppercase {
24 #[label]
25 name: SourceSpan,
26 },
27}