summaryrefslogtreecommitdiff
path: root/parser/src/parse.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-09 18:58:46 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-09 18:58:46 +0800
commit707a4e7162ad31c0152592cf28f66a55ca38dfd2 (patch)
tree1b3061d96a8a8dc6bf7c75a0ec4f12f3358f5630 /parser/src/parse.rs
parent204bb6824bf3555b80ca574ca3edb8ea007c89dd (diff)
Add FileNotFound variant to Exit enum
Diffstat (limited to 'parser/src/parse.rs')
-rw-r--r--parser/src/parse.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/parser/src/parse.rs b/parser/src/parse.rs
index 79f5719..c4c69f8 100644
--- a/parser/src/parse.rs
+++ b/parser/src/parse.rs
@@ -65,8 +65,13 @@ fn expand_recursive(
if let Some(include_path) = extract_include(line) {
let include_abs = format_path(&current_path.parent().unwrap().join(include_path))?;
- let include_content =
- std::fs::read_to_string(&include_abs).map_err(|e| Exit::IoError(e))?;
+ let include_content = std::fs::read_to_string(&include_abs).map_err(|e| {
+ if e.kind() == std::io::ErrorKind::NotFound {
+ Exit::FileNotFound(include_abs.clone())
+ } else {
+ Exit::IoError(e)
+ }
+ })?;
let expanded = expand_recursive(include_content, &include_abs, stack)?;
output.push_str(&expanded);