use proc_macro::TokenStream;
use quote::{format_ident, quote};
use singularize::singularize as singularize_;
use syn::{Ident, parse_macro_input};
#[proc_macro]
pub fn singularize(input: TokenStream) -> TokenStream {
let plural = parse_macro_input!(input as Ident);
let singular = format_ident!(
"{}",
singularize_(&plural.to_string()),
span = plural.span()
);
quote! { #singular }.into()
}