aboutsummaryrefslogtreecommitdiff
path: root/examples/example-pathfinder
Commit message (Collapse)AuthorAgeFilesLines
* refactor!: replace build.rs with compile-time macro build steps魏曹先生32 hours4-24/+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魏曹先生45 hours1-2/+4
| | | | | | | | | 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魏曹先生48 hours1-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/+11
| | | | | | 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 `might_be_async` dependency and update lockfiles魏曹先生2026-07-241-2/+142
| | | | | | | Introduce `might_be_async` as a workspace dependency, add it to `mingling_core`, and regenerate all Cargo.lock files accordingly. Multiple examples and test packages also pick up a newly transitive `equivalent` crate.
* feat(core): rename `builds` feature to `build`魏曹先生2026-07-231-2/+2
| | | | | | | Replace the `builds` feature with `build` across the crate, keeping a backward-compatible alias for the old name. Update all internal visibility from `#[doc(hidden)] pub mod` to `pub(crate) mod` and reorganize the `__private` module into a dedicated `private.rs`.
* ix(macros)!: require explicit `.into()` on chain function return values魏曹先生2026-07-181-1/+1
|
* feat(picker2): complete Picker2 prototype魏曹先生2026-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Picker2 replaces the original Picker1 with a two-phase (tag → pick) + mask-bitmap architecture, decoupling argument matching from type conversion via a composable matcher pipeline. Architecture - FlagMatcher — boolean flags (--verbose) - ArgMatcher — single flag+value pairs (--name Alice) - MultiArgMatcher — multi-value flag groups (--files a.txt b.txt) - PositionalMatcher — positional arguments, respects `--` - SingleMatcher — composite for Single-type Pickables Types - Flag (Active/Inactive) — semantic bool flag value - String + 14 numeric types via SinglePickable trait - Vec<T> — greedy multi-value (all SinglePickable types) - VecUntil<T> — bounded multi-value via BoundaryCheck trait - VecUntil<T>, pick_string, pick_numbers, pick_bool, pick_flag Style system - UNIX_STYLE (kebab), POWERSHELL_STYLE (Pascal), WINDOWS_STYLE (Pascal) - naming_case auto-conversion via just_fmt integration - Style-aware separator (= for Unix, : for PS/Windows) Infrastructure - internal_repeat! macro generates PickerPattern1..=32 - SinglePickable blanket impl → Pickable - MultiPickableWithBoundary trait with greedy/bounded variants - 151 integration tests - Docs updated for parser feature
* refactor(examples): migrate renderers to return RenderResult and add魏曹先生2026-07-111-3/+8
| | | | | | | | | std::io::Write import Replace r_println!/r_print! macro usage across all example renderers with explicit RenderResult construction using std::io::Write, enabling more flexible output handling and reducing reliance on macro-side effects.
* chore: bump workspace version to 0.3.0魏曹先生2026-07-111-10/+4
|
* chore: switch workspace dependencies from path to versioned 0.2.20.2.2魏曹先生2026-07-101-0/+6
|
* chore: bump mingling crates from 0.2.1 to 0.2.2魏曹先生2026-07-101-4/+4
|
* chore: remove published source checksums from example Cargo.lock files魏曹先生2026-07-101-6/+0
|
* chore(examples): add source and checksum to mingling_core/macros in魏曹先生2026-07-021-0/+6
| | | | Cargo.lock
* chore: bump version to 0.2.1 and switch deps to path魏曹先生2026-06-301-10/+4
|
* Released Mingling 0.2.00.2.0魏曹先生2026-06-301-0/+6
|
* chore(examples): add missing `just_fmt` dependency魏曹先生2026-06-301-0/+1
|
* refactor(core): move pathf module under builds and rename to build魏曹先生2026-06-291-1/+1
| | | | | | Migrate `mingling_core::pathf` into `mingling_core::builds::pathf` and re-export from `mingling::build`. Update all references from `mingling::builds` and `mingling::pathf` to `mingling::build`.
* feat(docs): add Module Pathfinder example for the `pathf` feature魏曹先生2026-06-286-0/+181