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: TokenStream = r#"
fn main() {
println!("Hello world!");
}
"#
.parse
.expect;
let stream: 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.