2 unstable releases

Uses old Rust 2015

0.3.0 Sep 24, 2017
0.2.0 Mar 6, 2017

#2025 in Procedural macros

Download history 29/week @ 2023-11-27 13/week @ 2023-12-04 28/week @ 2023-12-11 63/week @ 2023-12-18 19/week @ 2023-12-25 13/week @ 2024-01-01 66/week @ 2024-01-08 63/week @ 2024-01-15 86/week @ 2024-01-22 71/week @ 2024-01-29 42/week @ 2024-02-05 121/week @ 2024-02-12 163/week @ 2024-02-19 161/week @ 2024-02-26 83/week @ 2024-03-04 63/week @ 2024-03-11

481 downloads per month
Used in 9 crates (2 directly)

MIT/Apache

14KB
254 lines

Synmap

NOTE: This crate currently depends on cpp_syn rather than syn, as it requires the Span features which have not been landed in syn yet for the majority of its features.

This crate provides a SourceMap type which can be used to parse an entire crate and generate a complete AST. It also updates the spans in the parsed AST to be relative to the SourceMap rather than the bytes in the input file.

With this information, the SourceMap provides methods to map spans to source filenames (filename), source text (source_text) and line/column numbers (locinfo).


lib.rs:

synmap provides utilities for parsing multi-file crates into syn AST nodes, and resolving the spans attached to those nodes into raw source text, and line/column information.

The primary entry point for the crate is the SourceMap type, which stores mappings from byte offsets to file information, along with cached file information.

Dependencies

~1MB
~21K SLoC