use proc_macro2::{Ident, Punct, Spacing, Span};
pub trait MacroificCoreIdentExt {
fn create(name: &str) -> Self;
}
pub trait MacroificCorePunctExt {
fn new_alone(ch: char) -> Self;
fn new_joint(ch: char) -> Self;
}
impl MacroificCorePunctExt for Punct {
#[inline]
fn new_alone(ch: char) -> Self {
Self::new(ch, Spacing::Alone)
}
#[inline]
fn new_joint(ch: char) -> Self {
Self::new(ch, Spacing::Joint)
}
}
impl MacroificCoreIdentExt for Ident {
#[inline]
fn create(name: &str) -> Self {
Self::new(name, Span::call_site())
}
}