aboutsummaryrefslogtreecommitdiff
path: root/mingling/src/lib.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-04 13:26:48 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-04 13:26:48 +0800
commit4588e17f7ddacd8391a5c881a209735e08d48797 (patch)
tree2b513f4d4f8a18ebd3a34cff7c0fb8abf5787321 /mingling/src/lib.rs
parentf7862affd74ac3b129f9e9791a4cd4e1c7e3e6d1 (diff)
feat: add entry metadata system with compile-time typed values
Add `Metadata<B>` trait and `#[metadata(Entry)]` attribute macro to attach arbitrary, compile-time-typed metadata to entries. Implement `ProgramCollect::get_metadata<T>()` for runtime retrieval, backed by a global registry populated by `register_metadata!`. Extend `pathf` with `MetadataPattern` to resolve metadata types across modules at build time. Add two examples demonstrating metadata usage with and without pathf integration.
Diffstat (limited to 'mingling/src/lib.rs')
-rw-r--r--mingling/src/lib.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs
index 108d61a..01edae9 100644
--- a/mingling/src/lib.rs
+++ b/mingling/src/lib.rs
@@ -76,6 +76,7 @@ pub mod macros {
#[cfg(all(feature = "structural_renderer", feature = "extras"))]
pub use mingling_macros::group_structural;
pub use mingling_macros::help;
+ pub use mingling_macros::metadata;
pub use mingling_macros::mlint;
pub use mingling_macros::node;
pub use mingling_macros::pack;
@@ -106,6 +107,8 @@ pub mod macros {
#[doc(hidden)]
pub use mingling_macros::register_help;
#[doc(hidden)]
+ pub use mingling_macros::register_metadata;
+ #[doc(hidden)]
pub use mingling_macros::register_renderer;
#[doc(hidden)]
pub use mingling_macros::register_type;