shaderc-macro 0.1.0

Compile shaders with shaderc using macros at compile time
Documentation
extern crate proc_macro;
#[macro_use]
extern crate proc_macro_error;

use proc_macro::TokenStream;

/// ```
/// #[macro_use] extern crate shaderc_macro;
/// const VERT: &[u32] = shaderc_compile_file!("src/shader.vert");
/// ```
#[proc_macro_error]
#[proc_macro]
pub fn shaderc_compile_file(item: TokenStream) -> TokenStream {
    shaderc_macro_impl::compile_from::<shaderc_macro_impl::FileSource>(item)
}

/// ```
/// #[macro_use] extern crate shaderc_macro;
/// const VERT_INLINE: &[u32] = shaderc_compile_inline!("void main() { gl_Position = vec4(0,0,0,0); }", kind = Vertex, version = 450);
/// ```
#[proc_macro_error]
#[proc_macro]
pub fn shaderc_compile_inline(item: TokenStream) -> TokenStream {
    shaderc_macro_impl::compile_from::<shaderc_macro_impl::InlineSource>(item)
}

#[path = "impl/mod.rs"]
mod shaderc_macro_impl;

#[cfg(test)]
mod tests {
    #[test]
    fn simple() {
        assert_eq!(4, 2 + 2);
    }
}