aboutsummaryrefslogtreecommitdiff
path: root/examples/example-completion
Commit message (Collapse)AuthorAgeFilesLines
* feat(macros)!: change completion context parameter to owned type魏曹先生48 hours1-6/+6
| | | | | | BREAKING CHANGE: `#[completion]` functions must now take `ShellContext` by value instead of `&ShellContext`. Reference parameters are reserved for resource injection.
* refactor!: replace pack! macros with derive-based pipeline types魏曹先生2 days1-2/+3
| | | | | | | | | 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 legacy parser feature and migrate to picker魏曹先生2 days3-16/+31
| | | | | | | | | | The legacy `parser` feature and its module tree (`mingling::parser`, `Argument`, `Picker`, `Pickable`, etc.) have been fully removed and replaced by the `picker` feature powered by `arg-picker`. BREAKING CHANGE: Remove `parser` feature and use `picker` instead. Migration guide: Replace `features = ["parser"]` with `features = ["picker"]` and update API usage per the provided table.
* 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-10/+2
| | | | | | | 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-3/+3
|
* refactor: move example tests into per-example test.toml files魏曹先生4 days1-0/+5
| | | | | | 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-3/+3
|
* 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-232-3/+3
| | | | | | | 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-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+5
| | | | | | | | | 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-7/+3
|
* chore: switch workspace dependencies from path to versioned 0.2.20.2.2魏曹先生2026-07-101-0/+4
|
* chore: bump mingling crates from 0.2.1 to 0.2.2魏曹先生2026-07-101-3/+3
|
* chore: remove published source checksums from example Cargo.lock files魏曹先生2026-07-101-4/+0
|
* chore(examples): add source and checksum to mingling_core/macros in魏曹先生2026-07-021-0/+4
| | | | Cargo.lock
* chore: bump version to 0.2.1 and switch deps to path魏曹先生2026-06-301-7/+3
|
* Released Mingling 0.2.00.2.0魏曹先生2026-06-301-0/+4
|
* chore: bump just_template to 0.2.0 across all examples and tests魏曹先生2026-06-291-2/+14
|
* chore: clean up Cargo.toml metadata and update lockfiles魏曹先生2026-06-281-4/+4
|
* Update example descriptions with meaningful docs魏曹先生2026-06-151-1/+1
|
* Simplify workspace exclude patterns and add workspace stanzasWeicao-CatilGrass2026-06-121-0/+2
|
* Add example pages and sync-examples tool for docs魏曹先生2026-06-051-0/+10
|
* Enhance code quality across the entire codebaseWeicao-CatilGrass2026-05-311-0/+1
|
* Bump version to 0.2.0魏曹先生2026-05-311-7/+3
|
* Update CHANGELOG and switch to published crate versions0.1.9魏曹先生2026-05-291-0/+4
|
* Rename CompletionDispatcher to CMDCompletion and hide internal types魏曹先生2026-05-291-4/+4
|
* Rework examples and add entry macro for testingWeicao-CatilGrass2026-05-234-110/+135
|
* Remove `once_cell` dependency and replace with `OnceLock`魏曹先生2026-05-211-8/+0
|
* Update example version to 0.1.9魏曹先生2026-05-181-7/+3
|
* Switch mingling_core and mingling_macros to use published crate versions0.1.8Weicao-CatilGrass2026-05-181-0/+4
|
* Rename `NextProcess` to `Next` across the codebaseWeicao-CatilGrass2026-05-171-2/+2
|
* Simplify example imports to use prelude and add resources example魏曹先生2026-05-161-3/+2
| | | | | | | | | Add a new example demonstrating global resource injection in chain functions, and update all existing examples to import from `mingling::prelude` instead of individual macro paths. Also add `example-resources` to the workspace exclude list.
* Remove thiserror dependency and implement error types manually魏曹先生2026-05-151-21/+0
|
* Add `builds` feature and install completion scriptsWeicao-CatilGrass2026-05-111-3/+13
|
* Add dispatch tree example and update doc version references魏曹先生2026-05-081-1/+1
|
* Update mingling from 0.1.7 to 0.1.8魏曹先生2026-05-071-7/+3
|
* Switch to published crates and update README for v0.1.70.1.7魏曹先生2026-05-041-0/+4
|
* Enforce `NextProcess` return type in chain functions and update examples魏曹先生2026-05-021-1/+1
|
* Simplify Picker API by removing generic parameter and route types魏曹先生2026-04-281-2/+2
|
* Remove unused `ChainProcess` import in examples魏曹先生2026-04-271-1/+1
|
* Remove `marker::NextProcess` and generate it via `gen_program!`Weicao-CatilGrass2026-04-271-3/+2
|
* Bump mingling version to 0.1.7 and use local dependencies魏曹先生2026-04-211-7/+3
|
* Update core and macros dependencies to version 0.1.60.1.6魏曹先生2026-04-201-2/+6
|
* Bump version to 0.1.6魏曹先生2026-04-191-3/+3
| | | | | | - mingling: 0.1.5 → 0.1.6 - mingling_core: 0.1.4 → 0.1.5 - mingling_macros: 0.1.4 → 0.1.5
* Make async an optional feature魏曹先生2026-04-193-41/+3
|
* Simplify examples by removing AnyOutput usage魏曹先生2026-04-181-3/+3
|
* Update example to use EnumTag and PickableEnum魏曹先生2026-04-131-36/+44
|