16 lines
442 B
Rust
16 lines
442 B
Rust
use crate::parse::{ParseBuffer, ParseStream};
|
|
use proc_macro2::TokenStream;
|
|
use std::iter;
|
|
|
|
pub fn between<'a>(begin: ParseBuffer<'a>, end: ParseStream<'a>) -> TokenStream {
|
|
let end = end.cursor();
|
|
let mut cursor = begin.cursor();
|
|
let mut tokens = TokenStream::new();
|
|
while cursor != end {
|
|
let (tt, next) = cursor.token_tree().unwrap();
|
|
tokens.extend(iter::once(tt));
|
|
cursor = next;
|
|
}
|
|
tokens
|
|
}
|