const_cge_macro 0.2.0

Macro implementation of const_cge
Documentation
pub struct NetcrateInvocation {
  pub name: syn::Ident,
  pub path: String
}

impl syn::parse::Parse for NetcrateInvocation {
  fn parse(input: syn::parse::ParseStream) -> syn::Result<Self> {
    let name  = input.parse::<syn::Ident>()
      .expect("Usage: `netcrate!(public_name = \"path/to/file.cge\");`");

    let _ = input.parse::<syn::Token![=]>()
      .expect("Usage: `netcrate!(public_name = \"path/to/file.cge\");`");
    
    let path = input.parse::<syn::LitStr>()
      .expect("Usage: `netcrate!(public_name = \"path/to/file.cge\");`").value();
    
    Ok(NetcrateInvocation { name, path })
  }
}