aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* test(or_route): update panic message in test魏曹先生23 hours1-2/+2
|
* refactor(picker): extract pick_flag helper to reduce duplication魏曹先生23 hours3-26/+40
|
* feat(setups): refactor picker subsystem with new argument manipulation魏曹先生23 hours1-0/+23
| | | | | | | | | | API Refactor six setup types into `mingling::setups::picker` to use chained `PickerArg<Flag>` parsing, replacing direct `global_argument` access. Add `get_args_mut`, `take_args`, and `replace_args` to `Program` for enhanced argument control. These changes are gated behind the `picker` feature, with legacy implementations preserved when the feature is off.
* feat(setups): add picker module with flag-based program setup魏曹先生23 hours5-0/+333
|
* feat: add structural_renderer and all_serde_fmt cargo features魏曹先生24 hours2-1/+10
|
* feat(picker): add From impls for PickerArgs to Vec conversions魏曹先生24 hours1-0/+20
| | | | | | | Implement `From<PickerArgs>` for `Vec<String>` and `From<&PickerArgs>` for `Vec<&str>`, enabling seamless conversion from the picker arguments enum to owned or borrowed string vectors.
* feat(program): add mutable access, take, and replace for program args魏曹先生24 hours1-0/+27
|
* feat(arg_picker): add preprocessing and postprocessing priority levels魏曹先生24 hours4-3/+68
| | | | | | | | Add `Begin`, `Preprocess`, `Final`, and `Postprocess` variants to `PickerArgAttr` enum, and implement `Pickable` for `PickerArgs` as a built-in picker that consumes all remaining unclaimed arguments at lowest priority. Expose `is_masked` and `build_masked_args` as public functions for use by custom pickers.
* chore: add picker, parser, and comp features to rust-analyzer config魏曹先生25 hours2-26/+31
|
* chore(idea): add IntelliJ IDE project configuration files魏曹先生27 hours16-0/+366
|
* fix(core)!: conditionally override exit code in ExitCodeSetup魏曹先生27 hours2-2/+11
|
* feat(macros): relax `#[help]` return type to accept `Into<RenderResult>`魏曹先生28 hours3-33/+34
|
* ix(macros)!: require explicit `.into()` on chain function return values魏曹先生28 hours34-222/+177
|
* chore: make clippy-fix.sh executable魏曹先生29 hours1-0/+0
|
* feat(macros): allow `#[renderer]` to accept any return type魏曹先生29 hours2-36/+35
|
* feat(core): add multiple From implementations for RenderResult魏曹先生29 hours2-0/+58
| | | | | Implement `From<()>`, integer types, String, &String, and &str to allow renderers to return simple values directly
* chore(package-all): replace system tar with native Rust extraction魏曹先生29 hours4-16/+140
|
* refactor(package-all): simplify conditional logic with let-chains and魏曹先生29 hours1-51/+42
| | | | use `is_none_or` / `is_some_and`
* test(value_flag): replace assert! with assert_eq! for clarity魏曹先生32 hours1-5/+5
|
* chore: remove obsolete gitignore entry for Cargo.toml.bkup魏曹先生32 hours1-3/+0
|
* feat: replace RELEASE-WORKSPACE with package-all script魏曹先生34 hours2-145/+506
|
* docs: remove redundant logo link from lib.md魏曹先生41 hours1-5/+0
|
* docs: add API documentation deployment section to CI docs魏曹先生41 hours1-9/+26
|
* docs(mingling): move crate-level docs to separate lib.md魏曹先生42 hours3-74/+106
|
* ci(ci): add API docs generation step in deploy workflow魏曹先生42 hours1-0/+5
|
* feat: add deploy-api-docs tool for building crate docs with docs.rs魏曹先生42 hours2-2/+137
| | | | features
* chore: add symlinked license files to subcrates魏曹先生42 hours4-0/+4
|
* feat(dependency_order): include crates starting with "arg" in filter魏曹先生42 hours1-2/+2
| | | | | Extend the workspace member filter to also match crates prefixed with "arg" in addition to "mingling"
* chore: make run.sh executable魏曹先生42 hours1-0/+0
|
* chore(version-files): remove outdated version file entries魏曹先生42 hours1-12/+0
|
* refactor: rename `mingling_picker` to `arg_picker`魏曹先生42 hours58-354/+360
|
* docs: enable doc-test linting for prelude and parser modules魏曹先生44 hours3-35/+3
| | | | | Convert ```` ```ignore ```` to working doc-tests or remove non-compilable examples
* feat: add shorthand methods for fallback picker patterns魏曹先生44 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魏曹先生45 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魏曹先生45 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魏曹先生45 hours1-0/+36
|
* feat(mingling, mingling_picker): add feature constants and fixunreleased魏曹先生2 days3-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魏曹先生2 days2-10/+4
|
* docs: add module-level documentation and improve doc comments魏曹先生2 days27-55/+278
|
* feat(picker2): complete Picker2 prototype魏曹先生2 days89-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魏曹先生8 days1-1/+1
|
* docs: Update help functions note to use `writeln!` instead of魏曹先生8 days2-2/+2
| | | | `r_println!`
* feat(renderer): change render_greeting to return RenderResult魏曹先生8 days1-2/+4
|
* docs(readme): add CI workflow badge魏曹先生8 days1-0/+1
|
* refactor(docs): mark documentation update as completed魏曹先生8 days1-1/+1
|
* docs(changelog): document RenderResult::new and removed r_print macros魏曹先生8 days2-4/+27
|
* style: Reorder imports and reformat code with cargo fmt魏曹先生8 days12-29/+35
|
* docs: migrate renderers from `r_println!` to `RenderResult` return type魏曹先生8 days22-174/+276
|
* feat(mingling): add Write import and doc comment for picker re-export魏曹先生8 days1-1/+4
|
* docs(readme): migrate renderer examples from r_print macros to魏曹先生8 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.