aboutsummaryrefslogtreecommitdiff
path: root/mingling
Commit message (Collapse)AuthorAgeFilesLines
* feat(picker2): complete Picker2 prototype魏曹先生19 hours2-11/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* docs(changelog): document RenderResult::new and removed r_print macros魏曹先生6 days1-2/+2
|
* style: Reorder imports and reformat code with cargo fmt魏曹先生6 days1-4/+4
|
* feat(mingling): add Write import and doc comment for picker re-export魏曹先生6 days1-1/+4
|
* refactor(examples): migrate renderers to return RenderResult and add魏曹先生6 days1-100/+225
| | | | | | | | | 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.
* feat: require renderers to return RenderResult instead of mutating one魏曹先生6 days1-17/+14
| | | | | | | BREAKING CHANGE: The `render` method on `Renderer`, `HelpRequest`, and `ProgramCollect` now returns `RenderResult` instead of taking `&mut RenderResult`. The `r_print!` and `r_println!` macros have been removed in favor of using `std::io::Write` directly on `RenderResult`.
* docs(dev): add Picker2 arguments parser issue page魏曹先生7 days1-0/+11
|
* feat: add mingling-picker and mingling-picker-macros crates魏曹先生7 days2-1/+16
|
* chore: run cargo fmt and rearrange re-exports in mingling魏曹先生2026-07-026-25/+41
|
* feat(examples): add pathf + dispatch tree combination example魏曹先生2026-06-291-0/+65
|
* feat(docs): add Module Pathfinder example for the `pathf` feature魏曹先生2026-06-281-0/+63
|
* feat(workspace): add mingling_pathf crate and pathf feature魏曹先生2026-06-282-2/+14
|
* feat(mingling): add directory environment resources and setup魏曹先生2026-06-278-0/+395
| | | | | Add four new resource types for common directory paths and a convenience setup struct that registers all of them at once.
* docs: improve documentation, mark internal items as `#[doc(hidden)]`魏曹先生2026-06-271-25/+38
| | | | | | | | Add module-level docs for the hook system, enhance doc examples for macros with usage syntax, fix typos in cross-references, and hide internal debugging macros and mock types from public documentation
* feat(macros): add async mutable resource injection for `#[chain]`魏曹先生2026-06-271-2/+1
| | | | | | | Support `&mut T` resource parameters in async chain functions by using an extract-store pattern that avoids holding mutable borrows across await points. Remove the previous compile-time rejection of this combination.
* docs: restructure README and remove redundant imports魏曹先生2026-06-261-1/+1
| | | | | | | Move the Getting Started section above Writing with Mingling, replace emoji decorations with plain text, remove unnecessary `use mingling::prelude::*;` imports from code examples, and update crate description.
* refactor(general_renderer): rename to structural_renderer魏曹先生2026-06-266-167/+167
|
* feat(core): decouple structured output from Groupped trait魏曹先生2026-06-263-17/+76
| | | | | | | Introduce `StructuralData` sealed trait and `pack_structural!` / `group_structural!` / `derive(StructuralData)` macros to control structured rendering separately from grouping. `Groupped` no longer requires `Serialize`.
* Redesign hook system with structured info types and ProgramControls魏曹先生2026-06-243-21/+33
|
* Move flag tests to separate module and clean up deref patterns魏曹先生2026-06-241-3/+4
|
* Add IO error example with type alias in group macro魏曹先生2026-06-231-1/+22
|
* Make route! macro auto-convert error types魏曹先生2026-06-221-2/+2
| | | | | | `route!()` now calls `Groupped::to_chain()` on the error branch, removing the need for callers to pre-convert with `.to_chain()` or `.to_render()`.
* Add help command with exit code 2 for exitcode example魏曹先生2026-06-221-1/+13
|
* Remove all explicit program name modes from macrosremoved-shit魏曹先生2026-06-201-8/+8
|
* Add example for outside type registration魏曹先生2026-06-201-0/+91
|
* Add `group!` macro for registering external types魏曹先生2026-06-201-0/+3
|
* Re-export Groupped trait from prelude魏曹先生2026-06-201-0/+2
|
* Add `pack_err!` macro for error structs with automatic name field魏曹先生2026-06-182-0/+131
|
* Add naming conventions documentation and update sidebarWeicao-CatilGrass2026-06-121-0/+40
|
* Update repository URLs to mingling-rs organizationWeicao-CatilGrass2026-06-101-1/+1
|
* Add LazyRes for lazy resource initialization魏曹先生2026-06-071-0/+108
|
* Rename `ExitCode` to `ResExitCode` and `REPL` to `ResREPL`魏曹先生2026-06-064-12/+16
|
* Add `unpack_chain_process` to example unit test and docs魏曹先生2026-06-021-1/+3
|
* Add extra_macros feature to doc scripts and mingling depsWeicao-CatilGrass2026-06-011-0/+1
|
* Refactor built-in flags into reusable setup structs魏曹先生2026-06-011-6/+97
|
* Change `ProgramSetup::setup` to consume `self` instead of borrow魏曹先生2026-06-014-8/+8
|
* Enhance code quality across the entire codebaseWeicao-CatilGrass2026-05-3111-80/+137
|
* Switch mingling dependencies to local path references魏曹先生2026-05-311-2/+2
|
* Update CHANGELOG and switch to published crate versions0.1.9魏曹先生2026-05-291-13/+3
|
* Remove duplicate README and replace with symlink魏曹先生2026-05-291-164/+1
|
* Replace license files with symlinks to root魏曹先生2026-05-292-211/+2
|
* Update roadmap milestones and mark 0.1.9 features as complete魏曹先生2026-05-291-4/+10
|
* Remove stale example-repl-advanced directory and repl_extra feature魏曹先生2026-05-293-36/+0
|
* Add auto-generated feature flags module and tooling魏曹先生2026-05-295-79/+225
|
* Rename error types with consistent naming convention魏曹先生2026-05-292-4/+4
|
* Rename CompletionDispatcher to CMDCompletion and hide internal types魏曹先生2026-05-291-8/+10
|
* Add workflow, macro, and dispatch keywords to Cargo.toml魏曹先生2026-05-291-1/+11
|
* Update docs and examples for clap binding with optional error parameter魏曹先生2026-05-291-10/+19
|
* Rewrite documentation for Mingling library魏曹先生2026-05-281-28/+30
|
* Add example for clap binding integration魏曹先生2026-05-281-0/+128
|