Skip to content

Commit

Permalink
feat(geometry): release geometry_macros (#539)
Browse files Browse the repository at this point in the history
  • Loading branch information
rohanku authored Jan 24, 2025
1 parent 0b87032 commit ed21f1d
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions libs/geometry_macros/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,23 @@ use proc_macro_crate::{crate_name, FoundCrate};
use quote::quote;
use syn::{parse_macro_input, parse_quote, DeriveInput, Ident};

pub(crate) fn geometry_ident() -> TokenStream2 {
match crate_name("geometry") {
Ok(FoundCrate::Itself) => quote!(::geometry),
Ok(FoundCrate::Name(name)) => {
let ident = Ident::new(&name, Span::call_site());
quote!(::#ident)
}
Err(_) => match crate_name("substrate").expect("geometry not found in Cargo.toml") {
FoundCrate::Itself => quote!(::substrate::geometry),
FoundCrate::Name(name) => {
let ident = Ident::new(&name, Span::call_site());
quote!(::#ident::geometry)
}
},
}
}

/// Derives `geometry::transform::TranslateMut`.
#[proc_macro_derive(TranslateMut)]
pub fn derive_translate_mut(input: TokenStream) -> TokenStream {
Expand Down Expand Up @@ -101,20 +118,3 @@ pub fn derive_transform_ref(input: TokenStream) -> TokenStream {
)
.into()
}

pub(crate) fn geometry_ident() -> TokenStream2 {
match crate_name("geometry") {
Ok(FoundCrate::Itself) => quote!(::geometry),
Ok(FoundCrate::Name(name)) => {
let ident = Ident::new(&name, Span::call_site());
quote!(::#ident)
}
Err(_) => match crate_name("substrate").expect("geometry not found in Cargo.toml") {
FoundCrate::Itself => quote!(::substrate::geometry),
FoundCrate::Name(name) => {
let ident = Ident::new(&name, Span::call_site());
quote!(::#ident::geometry)
}
},
}
}

0 comments on commit ed21f1d

Please sign in to comment.