39 releases

0.9.2 Feb 16, 2025
0.8.2 Oct 19, 2023
0.7.13 Dec 16, 2022
0.7.11 Oct 19, 2022
0.3.2 Mar 15, 2022

#22 in Parser tooling

Download history 5279/week @ 2024-11-22 5876/week @ 2024-11-29 6101/week @ 2024-12-06 5881/week @ 2024-12-13 4166/week @ 2024-12-20 3443/week @ 2024-12-27 4767/week @ 2025-01-03 6891/week @ 2025-01-10 7763/week @ 2025-01-17 8398/week @ 2025-01-24 6302/week @ 2025-01-31 7474/week @ 2025-02-07 7275/week @ 2025-02-14 7274/week @ 2025-02-21 7921/week @ 2025-02-28 5141/week @ 2025-03-07

28,950 downloads per month
Used in 101 crates (15 directly)

MIT/Apache

13KB
256 lines

Code mapping utility types and traits.

CI Crate informations License Documentation

This library provides essentials types and trait to locate syntax elements.

  • Span describes a byte range in a source file. It is very similar to Range<usize> but is not an iterator and implements Copy. It also provides an intuitive API to write lexers and parsers.
  • Location<F> combines a Span with a file identifier F to pin point a syntactic element in a source file.

The crate integrates well with codespan-reporting library to render beautiful error reports. Enable the reporting feature to add dedicated methods to convert a Location value into a codespan_reporting::diagnostic::Label.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0–7MB
~35K SLoC