diff options
Diffstat (limited to 'parser/src/error.rs')
| -rw-r--r-- | parser/src/error.rs | 12 |
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) + } } } |
