aboutsummaryrefslogtreecommitdiff
path: root/examples/example-combine-pathf-metadata
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace build.rs with compile-time macro build steps魏曹先生34 hours4-15/+93
| | | | | | | | | | | | | BREAKING CHANGE: Replace the `build`/`builds` feature system with compile-time macro-driven generation. `gen_program!()` now automatically invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf` features are enabled, eliminating the need for `build.rs` and `[build-dependencies]` blocks. This removes the `build` feature, the `mingling::build` module, and all related build-time API functions. Completion scripts are now written to `{target_directory}/mingling/` instead of `target/release/`. The `mingling_cli` uses `build_comp!("mling")` for its custom binary name.
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生48 hours1-4/+8
| | | | | | | | | 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 Node type and simplify dispatcher macro syntax魏曹先生2 days1-1/+1
| | | | | | | The `dispatcher!` macro no longer requires a `CMD*` dispatcher type argument; the dispatcher struct is now generated internally as `__Dispatcher{Pascal}`. The `Node` type, `node!` macro, and `Dispatcher::node()` / `clone_dispatcher()` methods are removed.
* refactor!: remove dynamic dispatcher registration API魏曹先生2 days1-4/+1
| | | | | | | 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).
* chore(release): bump version to 0.5.0魏曹先生2 days1-4/+4
|
* refactor: move example tests into per-example test.toml files魏曹先生4 days1-0/+17
| | | | | | Replace the centralized `examples/test-examples.toml` with individual `test.toml` files in each example directory, updating the test runner and related documentation accordingly.
* chore: update package versions to 0.4.0 in lock files魏曹先生10 days1-4/+4
|
* feat: add entry metadata system with compile-time typed values魏曹先生2026-08-046-0/+367
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.