aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* docs: enable doc-test linting for prelude and parser modules魏曹先生10 hours3-35/+3
| | | | | Convert ```` ```ignore ```` to working doc-tests or remove non-compilable examples
* feat: add shorthand methods for fallback picker patterns魏曹先生11 hours3-41/+210
| | | | | | | Introduce `pick_or`, `pick_or_default`, and `pick_or_route` methods on both `Picker` and existing patterns to combine picking with a fallback in a single call. Extract shared `PickerPattern1` construction into `Picker::build_pattern1`.
* feat(corebind): add EntryPicker trait for binding entry types to Picker魏曹先生11 hours3-2/+75
| | | | | BREAKING CHANGE: prelude now exports EntryPicker in place of IntoPicker when mingling_support feature is enabled
* feat(picker): expose internal fields and add `IntoPicker` for魏曹先生11 hours3-9/+20
| | | | | | | | | `&Vec<String>` Make `route_phantom` and `args` fields `pub(crate)` for internal reuse. Fix error route conversion by adding `.into()` call. Implement `IntoPicker` for `&Vec<String>` to support passing string references.
* docs: add changelog entries for core/macros features and picker system魏曹先生11 hours1-0/+36
|
* feat(mingling, mingling_picker): add feature constants and fixunreleased魏曹先生15 hours3-6/+27
| | | | | | | | | | formatting Add `MINGLING_CORE` and `MINGLING_MACROS` feature flag constants to the mingling crate, mirroring existing pattern for other features Reorganize imports and reformat closures in mingling_picker for consistent style
* docs(picker): replace doc comment with `include_str!` reference魏曹先生15 hours2-10/+4
|
* docs: add module-level documentation and improve doc comments魏曹先生16 hours27-55/+278
|
* feat(picker2): complete Picker2 prototype魏曹先生16 hours89-93/+6119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix: correct typo in module name魏曹先生6 days1-1/+1
|
* docs: Update help functions note to use `writeln!` instead of魏曹先生6 days2-2/+2
| | | | `r_println!`
* feat(renderer): change render_greeting to return RenderResult魏曹先生6 days1-2/+4
|
* docs(readme): add CI workflow badge魏曹先生6 days1-0/+1
|
* refactor(docs): mark documentation update as completed魏曹先生6 days1-1/+1
|
* docs(changelog): document RenderResult::new and removed r_print macros魏曹先生6 days2-4/+27
|
* style: Reorder imports and reformat code with cargo fmt魏曹先生6 days12-29/+35
|
* docs: migrate renderers from `r_println!` to `RenderResult` return type魏曹先生6 days22-174/+276
|
* feat(mingling): add Write import and doc comment for picker re-export魏曹先生6 days1-1/+4
|
* docs(readme): migrate renderer examples from r_print macros to魏曹先生6 days1-30/+71
| | | | | | | | | | RenderResult Replace all uses of `r_print!` and `r_println!` with the new `RenderResult`-based API in the documentation. Add missing `use` imports (`pack`, `prelude`, `std::io::Write`) to make code examples self-contained and runnable.
* docs: mark remove-r-print-macro tasks as complete魏曹先生6 days1-4/+4
|
* refactor(examples): migrate renderers to return RenderResult and add魏曹先生6 days27-280/+561
| | | | | | | | | 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.
* fix(docs): correct RenderResult usage examples to use mut binding and魏曹先生6 days1-7/+10
| | | | add Write import
* feat(renderer): add new() constructor to RenderResult魏曹先生6 days1-0/+17
|
* feat: require renderers to return RenderResult instead of mutating one魏曹先生6 days17-383/+268
| | | | | | | 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`.
* chore: add Release 0.3.0 entry to changelog魏曹先生6 days1-0/+21
|
* docs(dev): add changelog template魏曹先生6 days2-0/+29
|
* feat(run): update `.run` to 0.1.1魏曹先生6 days2-6/+24
|
* chore: rename release binary to RELEASE-WORKSPACE魏曹先生6 days1-0/+0
|
* feat(release): add workspace release script and refactor run_cmd helpers魏曹先生6 days4-4/+178
|
* chore(picker): add mingling_core as a dependency魏曹先生6 days2-0/+4
|
* chore: add linked project config for Cargo workspace魏曹先生6 days2-0/+2
|
* refactor: extract dependency order logic into a shared module魏曹先生6 days3-184/+186
|
* feat: add binary to display dependency order of workspace crates魏曹先生6 days1-0/+194
| | | | | | Introduce a new binary that parses workspace Cargo.toml, collects crates matching a specified prefix, and outputs them in topological dependency order with same-level crates sorted alphabetically
* docs: fix trailing whitespace in add-picker2.md魏曹先生7 days1-7/+7
|
* Update add-picker2.md魏曹先生7 days1-0/+76
|
* docs(dev): add Picker2 arguments parser issue page魏曹先生7 days3-0/+22
|
* chore: bump workspace version to 0.3.0魏曹先生7 days38-238/+110
|
* feat: add mingling-picker and mingling-picker-macros crates魏曹先生7 days11-54/+93
|
* feat: add CI check workflow and update contributing guide魏曹先生7 days2-21/+155
|
* fix(docs): reduce docs sidebar depth to match maxLevel魏曹先生7 days3-3/+3
|
* docs: migrate ABOUT-CI and ABOUT-NIGHTLY to dev docs site魏曹先生7 days4-6/+14
| | | | | | Replace relative file links with absolute URLs and add centered page headers to the migrated docs. Update the dev sidebar to include the new pages.
* chore: add nul to .gitignore魏曹先生7 days1-0/+3
|
* fix: update manifest path references from dev_tools to .run魏曹先生7 days3-15/+21
|
* refactor(templates): rename Cargo.toml to Cargo.toml.tmpl魏曹先生7 days3-0/+0
|
* refactor(devtools): rename dev_tools to .run and replace run-tools魏曹先生7 days38-176/+547
| | | | | | | | | | | | scripts Replace the old run-tools.ps1/run-tools.sh scripts with a new unified run.ps1/run.sh launcher that supports multiple languages (PowerShell, Rust, Python, Go, C#, Nim, Perl, Ruby, Zig, and arbitrary binaries) from the `.run/src/bin` directory. Move all development tools from `dev_tools/` to `.run/`, update Cargo workspace config and relevant documentation references.
* docs: fix trailing whitespace in markdown files魏曹先生7 days2-6/+16
|
* docs(remove-r-print-macro): add progress checklist to issue魏曹先生7 days1-0/+10
|
* docs(dev): Add emoji icons and restructure sidebar layout魏曹先生7 days5-10/+16
|
* chore(docs): rename dev-docs directory to dev魏曹先生7 days13-9/+9
| | | | Update sidebar link for remove-r-print-macro to use full description
* chore: switch workspace dependencies from path to versioned 0.2.20.2.2魏曹先生8 days33-6/+175
|