Closed
Description
Hello!
I'm testing this library as an alternative to codespan_reporting and I'm having trouble understanding the SourceAnnotation.range value. I thought it was a byte offset (as in codespan_reporting, that I can get from my lalrpop parser) but it seems to have behaviour that suggests it is not.
When the annotation is on the first line of the source the annotation is positioned as I expect:
line 1:
error: Type mismatch
--> /Users/louis/src/gleam/gleam/test/hello_world/src/other.gleam:1:13
|
1 | fn main() { "" + 1 }
| ^^
|
However when the annotation is not on the first line of the source it seems to move back by one character per line.
line 8:
error: Type mismatch
--> /Users/louis/src/gleam/gleam/test/hello_world/src/other.gleam:1:6
|
...
8 | fn main() { "" + 1 }
| ^^
|
SourceAnnotation.range doesn't seem to be documented- what does it accept?
Thank you