diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-03-31 16:57:58 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-03-31 16:57:58 +0800 |
| commit | 3572008321bff319d5ab226d0b9979fa89af498e (patch) | |
| tree | 608cde826953aae5a600b2aa449e4290ad694ae9 | |
| parent | a1503fef9947732994d4fb866b90b665c846b547 (diff) | |
Rename chain_struct macro to pack
| -rw-r--r-- | mingling/src/lib.rs | 2 | ||||
| -rw-r--r-- | mingling_macros/src/lib.rs | 18 | ||||
| -rw-r--r-- | mingling_macros/src/pack.rs (renamed from mingling_macros/src/chain_struct.rs) | 14 |
3 files changed, 17 insertions, 17 deletions
diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs index a0efc19..5c5ae7d 100644 --- a/mingling/src/lib.rs +++ b/mingling/src/lib.rs @@ -8,10 +8,10 @@ pub mod parser; #[allow(unused_imports)] pub mod macros { pub use mingling_macros::chain; - pub use mingling_macros::chain_struct; pub use mingling_macros::dispatcher; pub use mingling_macros::dispatcher_render; pub use mingling_macros::node; + pub use mingling_macros::pack; pub use mingling_macros::program; pub use mingling_macros::r_print; pub use mingling_macros::r_println; diff --git a/mingling_macros/src/lib.rs b/mingling_macros/src/lib.rs index 13d5ddc..b0ed658 100644 --- a/mingling_macros/src/lib.rs +++ b/mingling_macros/src/lib.rs @@ -9,9 +9,9 @@ use quote::quote; use syn::parse_macro_input; mod chain; -mod chain_struct; mod dispatcher_chain; mod node; +mod pack; mod render; mod renderer; @@ -58,10 +58,10 @@ pub fn node(input: TokenStream) -> TokenStream { /// # Examples /// /// ```ignore -/// use mingling_macros::chain_struct; +/// use mingling_macros::pack; /// /// // Creates a wrapper type around String -/// chain_struct!(NameString = String); +/// pack!(NameString = String); /// /// // Usage: /// let name = NameString::new("Hello".to_string()); @@ -71,8 +71,8 @@ pub fn node(input: TokenStream) -> TokenStream { /// let chain_process = name2.to_chain(); // Convert to ChainProcess /// ``` #[proc_macro] -pub fn chain_struct(input: TokenStream) -> TokenStream { - chain_struct::chain_struct(input) +pub fn pack(input: TokenStream) -> TokenStream { + pack::pack(input) } /// Creates a dispatcher chain for command execution. @@ -83,11 +83,11 @@ pub fn chain_struct(input: TokenStream) -> TokenStream { /// /// # Syntax /// -/// `dispatcher!("command_name", CommandStruct => ChainStruct)` +/// `dispatcher!("command_name", CommandStruct => Packed)` /// /// - `command_name`: A string literal representing the command name /// - `CommandStruct`: The name of the dispatcher struct to generate -/// - `ChainStruct`: The name of the chain wrapper struct to generate +/// - `Packed`: The name of the chain wrapper struct to generate /// /// # Examples /// @@ -115,11 +115,11 @@ pub fn dispatcher(input: TokenStream) -> TokenStream { /// /// # Syntax /// -/// `dispatcher_render!("command_name", CommandStruct => ChainStruct)` +/// `dispatcher_render!("command_name", CommandStruct => Packed)` /// /// - `command_name`: A string literal representing the command name /// - `CommandStruct`: The name of the dispatcher struct to generate -/// - `ChainStruct`: The name of the chain wrapper struct to generate +/// - `Packed`: The name of the chain wrapper struct to generate /// /// # Examples /// diff --git a/mingling_macros/src/chain_struct.rs b/mingling_macros/src/pack.rs index 7305a67..bff67d4 100644 --- a/mingling_macros/src/chain_struct.rs +++ b/mingling_macros/src/pack.rs @@ -1,6 +1,6 @@ //! Chain Struct Macro Implementation //! -//! This module provides the `chain_struct!` macro for creating wrapper types +//! This module provides the `pack!` macro for creating wrapper types //! with automatic implementations of common traits. use proc_macro::TokenStream; @@ -9,29 +9,29 @@ use syn::parse::{Parse, ParseStream}; use syn::{Ident, Result as SynResult, Token, Type}; /// Parses input in the format: `TypeName = InnerType` -struct ChainStructInput { +struct PackInput { type_name: Ident, inner_type: Type, } -impl Parse for ChainStructInput { +impl Parse for PackInput { fn parse(input: ParseStream) -> SynResult<Self> { let type_name = input.parse()?; input.parse::<Token![=]>()?; let inner_type = input.parse()?; - Ok(ChainStructInput { + Ok(PackInput { type_name, inner_type, }) } } -pub fn chain_struct(input: TokenStream) -> TokenStream { - let ChainStructInput { +pub fn pack(input: TokenStream) -> TokenStream { + let PackInput { type_name, inner_type, - } = syn::parse_macro_input!(input as ChainStructInput); + } = syn::parse_macro_input!(input as PackInput); // Generate the struct definition #[cfg(not(feature = "serde"))] |
