algosul_core/codegen.rs
1//! # Example
2//! ```
3//! use proc_macro2::{Ident, Span};
4//! use syn::{parse_quote, File, ItemMod};
5//! use algosul_core::codegen::file::FileExt;
6//! use algosul_core::codegen::ident::StrExt;
7//! use algosul_core::codegen::module::ModuleExt;
8//! let mut file: File = parse_quote!(
9//! #![allow(non_upper_case_globals)]
10//! );
11//! file.add_mod({
12//! let mut module: ItemMod = parse_quote!(
13//! pub mod lang;
14//! );
15//! module.add_include_str_by_glob("rc/lang/*.toml", |path| {
16//! Ident::new(
17//! path.file_stem()
18//! .unwrap()
19//! .to_valid_ident()
20//! .to_str()
21//! .unwrap(),
22//! Span::call_site(),
23//! )
24//! }).unwrap();
25//! module
26//! });
27//! ```
28pub mod file;
29pub mod filter;
30pub mod fs;
31pub mod ident;
32pub mod module;
33pub mod tokens;