about summary refs log tree commit diff
path: root/src/main.rs
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-03-03 01:57:25 +0100
committerMel <einebeere@gmail.com>2022-03-03 01:57:25 +0100
commit8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717 (patch)
treea2ef0772d8f982c832df1762219557adb67d69d6 /src/main.rs
parent8abea71c7662016c98583a8d075a693eb4efa5e0 (diff)
downloadrabbithole-8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717.tar.zst
rabbithole-8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717.zip
Re-arrange error locations
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index a670f92..d3c460c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -29,10 +29,10 @@ fn file(filename: impl AsRef<Path>) {
     let lexer = Lexer::new(&contents);
     let mut parser = Parser::new(lexer);
 
-    let node = handle_error(parser.parse(), &contents);
+    let node = handle_error(parser.parse().map_err(RHError::Parse), &contents);
     let mut walker = Walker::root();
 
-    handle_error(walker.walk(&node), &contents);
+    handle_error(walker.walk(&node).map_err(RHError::Run), &contents);
 }
 
 fn repl() {
@@ -54,8 +54,11 @@ fn repl() {
         let lexer = Lexer::new(input_buffer.trim());
         let mut parser = Parser::new(lexer);
 
-        let node = handle_error(parser.expression(), &input_buffer);
-        let result = handle_error(walker.walk_expression(&node), &input_buffer);
+        let node = handle_error(parser.expression().map_err(RHError::Parse), &input_buffer);
+        let result = handle_error(
+            walker.walk_expression(&node).map_err(RHError::Run),
+            &input_buffer,
+        );
 
         println!("🥕: {:?}\n", result);
     }