summaryrefslogtreecommitdiff
path: root/parser/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'parser/src/error.rs')
-rw-r--r--parser/src/error.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/parser/src/error.rs b/parser/src/error.rs
index ca68442..b9ac888 100644
--- a/parser/src/error.rs
+++ b/parser/src/error.rs
@@ -1,4 +1,4 @@
-use std::{i64, process::exit};
+use std::{i64, path::PathBuf, process::exit};
use colored::Colorize;
use unicode_width::UnicodeWidthStr;
@@ -14,6 +14,8 @@ pub enum Exit {
begin: i64,
end: i64,
},
+ DuplicateMarker(String),
+ CycleDependency(PathBuf),
}
impl From<std::io::Error> for Exit {
@@ -35,6 +37,14 @@ pub fn handle_exit(e: Exit) {
} => {
print_syntax_error(content, reason, line, begin, end);
}
+ Exit::DuplicateMarker(marker) => {
+ eprintln!("Duplicate marker `{}` found!", marker);
+ exit(1)
+ }
+ Exit::CycleDependency(dialog) => {
+ eprintln!("Dialog `{}` depends on itself!", dialog.display());
+ exit(1)
+ }
}
}