use proc_macro2::Span;
use proc_macro_crate::{crate_name, FoundCrate};
use syn::Ident;
pub(crate) fn salvo_crate() -> syn::Ident {
match crate_name("salvo") {
Ok(salvo) => match salvo {
FoundCrate::Itself => Ident::new("salvo", Span::call_site()),
FoundCrate::Name(name) => Ident::new(&name, Span::call_site()),
},
Err(_) => match crate_name("salvo_core") {
Ok(salvo) => match salvo {
FoundCrate::Itself => Ident::new("salvo_core", Span::call_site()),
FoundCrate::Name(name) => Ident::new(&name, Span::call_site()),
},
Err(_) => Ident::new("salvo", Span::call_site()),
},
}
}