extern crate proc_macro; mod app_plugin; mod attributes; mod bytes; mod entity_archetype; mod modules; mod render_resources; mod render_resource; mod resource; mod shader_defs; mod uniforms; mod as_vertex_buffer_descriptor; use proc_macro::TokenStream; #[proc_macro_derive(FromResources, attributes(module))] pub fn derive_from_resources(input: TokenStream) -> TokenStream { resource::derive_from_resources(input) } #[proc_macro_derive(Bytes, attributes(module))] pub fn derive_bytes(input: TokenStream) -> TokenStream { bytes::derive_bytes(input) } #[proc_macro_derive(Uniform, attributes(uniform, module))] pub fn derive_uniform(input: TokenStream) -> TokenStream { uniforms::derive_uniform(input) } #[proc_macro_derive(Uniforms, attributes(uniform, module))] pub fn derive_uniforms(input: TokenStream) -> TokenStream { uniforms::derive_uniforms(input) } #[proc_macro_derive(RenderResources, attributes(render_resources, module))] pub fn derive_render_resources(input: TokenStream) -> TokenStream { render_resources::derive_render_resources(input) } #[proc_macro_derive(RenderResource, attributes(module))] pub fn derive_render_resource(input: TokenStream) -> TokenStream { render_resource::derive_render_resource(input) } #[proc_macro_derive(ShaderDefs, attributes(shader_def, module))] pub fn derive_shader_defs(input: TokenStream) -> TokenStream { shader_defs::derive_shader_defs(input) } #[proc_macro_derive(AsVertexBufferDescriptor, attributes(vertex, module))] pub fn derive_as_vertex_buffer_descriptor(input: TokenStream) -> TokenStream { as_vertex_buffer_descriptor::derive_as_vertex_buffer_descriptor(input) } #[proc_macro_derive(EntityArchetype, attributes(tag, module))] pub fn derive_entity_archetype(input: TokenStream) -> TokenStream { entity_archetype::derive_entity_archetype(input) } #[proc_macro_derive(DynamicAppPlugin)] pub fn derive_app_plugin(input: TokenStream) -> TokenStream { app_plugin::derive_dynamic_app_plugin(input) }