This crate implements error reporting for Hebi. In simple terms, it turns code + span + message
into a nicely formatted error message:
``` error: mismatched type
test.foo:1 | | let x: Foo = Bar { | a: 0, | ... | g: 0, | }; | + expected
Foo
, foundBar
```
It's actually completely agnostic to the target language, it operates on simple strings and spans.
There are many crates that implement something similar, for example: - codespan - annotate-snippets - codemap - language-reporting
And while they are all good at what they do, they all ended up having features I wouldn't use, and I wanted to keep the dependency graph as minimal as possible.