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

#272 in Parser implementations

Download history 25510/week @ 2025-05-14 31660/week @ 2025-05-21 36370/week @ 2025-05-28 34608/week @ 2025-06-04 33394/week @ 2025-06-11 25211/week @ 2025-06-18 24230/week @ 2025-06-25 21333/week @ 2025-07-02 20279/week @ 2025-07-09 31881/week @ 2025-07-16 36433/week @ 2025-07-23 30816/week @ 2025-07-30 29747/week @ 2025-08-06 33934/week @ 2025-08-13 32008/week @ 2025-08-20 18964/week @ 2025-08-27

121,747 downloads per month
Used in 121 crates (19 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–9.5MB
~45K SLoC