diff options
| author | Mel <einebeere@gmail.com> | 2022-03-03 01:57:25 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-03-03 01:57:25 +0100 |
| commit | 8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717 (patch) | |
| tree | a2ef0772d8f982c832df1762219557adb67d69d6 /src/main.rs | |
| parent | 8abea71c7662016c98583a8d075a693eb4efa5e0 (diff) | |
| download | rabbithole-8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717.tar.zst rabbithole-8f7e3d1d2cd43d30ccc16799fcf69058ccc5a717.zip | |
Re-arrange error locations
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 11 |
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); } |
