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

#260 in Parser implementations

Download history 5771/week @ 2024-12-14 3896/week @ 2024-12-21 3614/week @ 2024-12-28 4871/week @ 2025-01-04 6958/week @ 2025-01-11 8472/week @ 2025-01-18 7711/week @ 2025-01-25 6290/week @ 2025-02-01 7779/week @ 2025-02-08 7259/week @ 2025-02-15 7159/week @ 2025-02-22 7744/week @ 2025-03-01 6292/week @ 2025-03-08 5857/week @ 2025-03-15 5789/week @ 2025-03-22 4515/week @ 2025-03-29

23,423 downloads per month
Used in 106 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–6.5MB
~34K SLoC