aboutsummaryrefslogtreecommitdiff
path: root/mingling_macros/src/func/program_final_gen.rs
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生3 days1-2/+2
| | | | | | | | | Remove the `pack!`, `pack_err!`, `pack_structural!`, and `pack_err_structural!` macros, replacing all pipeline type definitions with `#[derive(Grouped)]` and `#[derive(Grouped, Wrap)]` attributes. This changes the generated struct shape from named-field structs with an `inner` field to tuple structs accessed via `.0`, and removes the auto-generated `name` and `info` fields from error types.
* refactor!: remove dynamic dispatcher registration API魏曹先生3 days1-25/+62
| | | | | | | Dispatchers are now always registered at compile time, removing the `with_dispatcher` / `with_dispatchers` methods and the `PathfinderConfig` API. The `dispatch_tree` feature now only controls the matching strategy (trie vs linear list).
* feat(core): move config types to public config module魏曹先生5 days1-1/+1
| | | | | | | | | Refactor program configuration types into a dedicated public `config` module under `mingling_core`, making `StructuralRendererSetting` accessible via `mingling_core::config` instead of the crate root. Update all internal references and setup modules to use the new `config::` path convention.
* chore: add "Doc Not Optimize" comments to source files魏曹先生6 days1-0/+1
| | | | | Mark all source files with a comment indicating they are not optimized for documentation purposes.
* refactor(macros): clean up clippy lints and simplify code魏曹先生10 days1-0/+1
|
* feat: add entry metadata system with compile-time typed values魏曹先生2026-08-041-0/+35
| | | | | | | | | | | 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.
* chore!: rename ErrorDispatcherNotFound to EntryFallback魏曹先生2026-08-031-3/+3
| | | | | | | | Rename the internal fallback type and its associated `ProgramCollect` plumbing from `ErrorDispatcherNotFound`/`build_dispatcher_not_found` to `EntryFallback`/`build_entry_fallback`, along with the generated enum variant and pack type. Update all documentation, examples, and tests accordingly.
* feat(macros): wrap gen_program output in a hidden module魏曹先生2026-07-281-13/+2
| | | | | | Move pathf type resolution from `program_final_gen` to `gen_program` and isolate generated code inside `__this_program_impl` to prevent namespace pollution
* refactor(macros): move pathf include from gen_program into魏曹先生2026-07-281-0/+12
| | | | program_final_gen
* refactor(pathf): move type resolution from compile-time to build-time魏曹先生2026-07-281-107/+14
|
* feat(macros): split monolith into one-macro-per-file modules魏曹先生2026-07-261-0/+465