regex-tokenizer-impl 0.1.0

A regex tokenizer-macro implementation
Documentation
use proc_macro2::{Delimiter, Group, Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};

pub(crate) fn error(span: Span, message: &str) -> TokenStream {
    [
        TokenTree::Ident(Ident::new("compile_error", span)),
        TokenTree::Punct(Punct::new('!', Spacing::Alone)),
        TokenTree::Group(Group::new(
            Delimiter::Parenthesis,
            [TokenTree::Literal(Literal::string(message))]
                .into_iter()
                .collect(),
        )),
    ]
    .into_iter()
    .map(|mut t| {
        t.set_span(span);
        t
    })
    .collect()
}