intuitive_macros 0.6.2

the component proc-macro for the intuitive crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use proc_macro2::{Span, TokenStream};
use proc_macro_crate::FoundCrate;
use quote::quote;
use syn::Ident;

pub fn crate_name() -> TokenStream {
  let crate_name = proc_macro_crate::crate_name("intuitive").unwrap();

  match crate_name {
    FoundCrate::Itself => quote! { ::intuitive },

    FoundCrate::Name(name) => {
      let ident = Ident::new(&name, Span::call_site());
      quote! { ::#ident }
    }
  }
}