diff options
Diffstat (limited to 'rola-vcs/internal_macros/src/lib.rs')
| -rw-r--r-- | rola-vcs/internal_macros/src/lib.rs | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/rola-vcs/internal_macros/src/lib.rs b/rola-vcs/internal_macros/src/lib.rs deleted file mode 100644 index f6c3cb7..0000000 --- a/rola-vcs/internal_macros/src/lib.rs +++ /dev/null @@ -1,39 +0,0 @@ -mod constants; - -use proc_macro::TokenStream; - -/// Transforms `pub const` items in a module into equivalent functions. -/// -/// Constants without `{param}` placeholders become `fn NAME() -> String`. -/// Constants with `{param}` placeholders become `fn NAME(param: impl AsRef<str>) -> String`, -/// using `format!()` to fill in the placeholders. -/// -/// The entire module is annotated with `#[allow(non_snake_case)]`. -/// -/// # Example -/// -/// ```ignore -/// #[rorolala_internal_macros::constants] -/// pub mod paths { -/// pub const ROLA_DRAFT_DIR: &str = ".rola"; -/// pub const ROLA_BINDED_BUCKET_FILE: &str = ".rola/BIND/{bucket}"; -/// } -/// ``` -/// -/// expands to: -/// -/// ```ignore -/// #[allow(non_snake_case)] -/// pub mod paths { -/// pub fn ROLA_DRAFT_DIR() -> String { -/// ".rola".to_string() -/// } -/// pub fn ROLA_BINDED_BUCKET_FILE(bucket: impl AsRef<str>) -> String { -/// format!(".rola/BIND/{bucket}", bucket = bucket.as_ref()) -/// } -/// } -/// ``` -#[proc_macro_attribute] -pub fn constants(attr: TokenStream, item: TokenStream) -> TokenStream { - constants::expand(attr, item) -} |
