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

#20 in Parser tooling

Download history 5598/week @ 2025-01-07 6697/week @ 2025-01-14 9241/week @ 2025-01-21 6499/week @ 2025-01-28 6758/week @ 2025-02-04 8246/week @ 2025-02-11 6925/week @ 2025-02-18 7211/week @ 2025-02-25 7267/week @ 2025-03-04 5992/week @ 2025-03-11 6136/week @ 2025-03-18 5886/week @ 2025-03-25 4880/week @ 2025-04-01 5440/week @ 2025-04-08 4547/week @ 2025-04-15 27327/week @ 2025-04-22

43,730 downloads per month
Used in 105 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