diff --git a/hbasm/src/lib.rs b/hbasm/src/lib.rs index 0cb18d8..81eddc8 100644 --- a/hbasm/src/lib.rs +++ b/hbasm/src/lib.rs @@ -69,8 +69,8 @@ pub enum ErrorKind { #[derive(Clone, Debug, PartialEq, Eq)] pub struct Error { - kind: ErrorKind, - span: Span, + pub kind: ErrorKind, + pub span: Span, } impl Display for Error { diff --git a/hbasm/src/main.rs b/hbasm/src/main.rs index bdb6a7a..6eae52f 100644 --- a/hbasm/src/main.rs +++ b/hbasm/src/main.rs @@ -8,7 +8,14 @@ fn main() -> Result<(), Box> { stdin().read_to_string(&mut code)?; let mut buf = vec![]; - hbasm::assembly(&code, &mut buf)?; + if let Err(e) = hbasm::assembly(&code, &mut buf) { + eprintln!( + "Error {:?} at {:?} (`{}`)", + e.kind, + e.span.clone(), + &code[e.span], + ); + } stdout().write_all(&buf)?; Ok(()) }