aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/attr.rs
Commit message (Collapse)AuthorAgeFilesLines
* feat: add entry metadata system with compile-time typed values魏曹先生16 hours1-0/+1
| | | | | | | | | | | 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.
* refactor!: rename `extra_macros` feature to `extras`feat/new-pipeline-model魏曹先生3 days1-2/+2
| | | | | Update all references across docs, examples, and configuration files to use the shorter `extras` feature name.
* feat(mingling_macros, mingling_pathf): add `#[command]` attribute macro魏曹先生7 days1-0/+2
| | | | | | | | | | | | | Add a new `#[command]` attribute macro (feature-gated behind `extra_macros`) that converts a plain function with a `Vec<String>` parameter into a fully wired Mingling command. The macro generates a `dispatcher!` call, a `#[chain]` wrapper, and a hidden module re-exporting all generated types. Also add `CommandPattern` to the pathf pattern analyzer to recognize `#[command]`-annotated functions and track their generated hidden modules.
* feat(macros): split monolith into one-macro-per-file modules魏曹先生9 days1-0/+1
|
* chore(macros): reorganize module hierarchy in mingling_macros魏曹先生2026-07-201-0/+9
Restructure flat module layout into logical directories (attr/, derive/, func/, systems/, extensions/, utils.rs). Tighten internal function visibility to pub(crate). All public API signatures remain unchanged.