4 releases (stable)
1.0.2 | Jun 29, 2023 |
---|---|
0.1.0 | Jun 29, 2023 |
#1779 in Procedural macros
14KB
229 lines
tokenstream2
token_stream2
is a helper crate for parsing procedural macros.
It allows you to quickly convert from proc_macro2::TokenStream
into a token_stream2::TokenStream
,
which allows you to have a much easier time traversing the token stream.
It's also extremely lightweight with only one dependency, proc_macro2
, which you most likely already have.
Usage
You can easily convert into tokenstream2::TokenStream
using .into()
.
let to_parse: proc_macro2::TokenStream = r#"
fn main() {
println!("Hello world!");
}
"#
.parse()
.expect("infallible");
let stream: token_stream2::TokenStream = to_parse.into();
token_stream2::TokenStream
implements Iterator
, so you can use the various Iterator
methods on it.
It also has it's own .peek()
method you can use to quickly look ahead, since that will likely be a common behavior.
Examples
You can look in the /examples
directory to see an example of it in use.
Dependencies
~61KB